Systems and methods for remote code review
View Patent ↗Described herein is a computer implemented method including a server system communicating identifier(s) identifying to a document management service of a second server system a portion of software code or other document parts. The identified code or document parts are communicated to a client system. A variation of or addition to the code or document is received from the client system and the server system communicates to the document management service the variation and the identifier(s).
1 . A client system comprising:
a memory allocation defined by:
a data store of one or more executable assets; and
a working memory allocation;
a processor allocation configured to load one or more executable assets from the data store into the working memory, wherein upon execution the one or more executable assets are configured to:
operate a frontend issue tracking application and a frontend code application separate from the frontend issue tracking application;
transmit, with respect to the frontend issue tracking application and to a cloud server system providing web-based access to a backend issue tracking system, an issue view request with respect to a particular issue hosted by the backend issue tracking system, wherein the issue view request is configured to cause a cloud proxy application of the cloud server system to communicate, over a secured communication pipe, with an on-premises proxy application of an on-premises server system;
receive, from the cloud server system in accordance with a time-to-live requirement and via the cloud proxy application:
issue data for the particular issue; and
a set of code objects associated with the particular issue and communicated by the on-premises proxy application via the secured communication pipe from a code repository hosted by the on-premises server system;
display the set of code objects and the issue data in the frontend issue tracking application;
receive a user modification to at least one code object of the set of code objects via the frontend issue tracking application;
transmit, to the cloud server system, a code variation request comprising the user modification to the at least one code object of the set of code objects, wherein the code variation request is configured to cause the cloud proxy application to communicate with the on-premises proxy application via the secured communication pipe to trigger execution, at the code repository hosted by the on-premises server system, of an update action comprising the user modification to the at least one code object;
subsequent to transmitting the code variation request, transmit, with respect to the frontend code application and to the on-premises server system, a code view request with respect to the code repository;
receive, from the on-premises server system, at least a portion of the code repository, wherein the portion of the code repository includes the user modification to the at least one code object of the set of code objects; and
display at least the portion of the code repository in the frontend code application operating in the client system.
2 . The client system of claim 1 , wherein upon execution the one or more executable assets are further configured to:
cause display, in the frontend issue tracking application, of a location identifier for the set of code objects indicating the on-premises server system and extracted from the issue data.
3 . The client system of claim 1 , wherein upon execution the one or more executable assets are further configured to:
cause display, in the frontend issue tracking application, of at least one of:
a commit identifier associated with the set of code objects;
a pull request identifier associated with the set of code objects; or
an identifier of the code repository.
4 . The client system of claim 1 , wherein:
the frontend issue tracking application is operated in response to an authentication of first credentials provided by a user; and
the issue view request is transmitted with respect to second credentials for the on-premises server system associated with the user.
5 . The client system of claim 1 , wherein the issue view request is transmitted in response to a user interaction with a particular task interface element corresponding to the particular issue displayed in the frontend issue tracking application.
6 . The client system of claim 1 , wherein displaying the set of code objects and the issue data in the frontend issue tracking application includes:
displaying project information extracted from the issue data in a first graphical region;
displaying issue information extracted from the issue data in a second graphical region; and
displaying the set of code objects in a third graphical region configured to receive user inputs including the user modification to the at least one code object of the set of code objects.
7 . The client system of claim 1 , wherein:
each code object of the set of code objects corresponds to a respective code object identifier; and
the issue data includes the respective code object identifiers.
8 . The client system of claim 1 , wherein:
the set of code objects are a set of Git objects; and
the frontend code application is a Git application.
9 . The client system of claim 1 , wherein the backend issue tracking system includes a component for creation and maintenance of user accounts, including a user account for a user of the client system.
10 . A method for modifying code objects hosted at an on-premises server system, the method comprising:
instantiating a frontend issue tracking application for issues corresponding to code objects modifiable in a frontend code application separate from the frontend issue tracking application;
transmitting, from the frontend issue tracking application and to a cloud server system providing web-based access to a backend issue tracking system, a first issue view request with respect to a particular issue hosted by the backend issue tracking system, wherein the first issue view request is configured to cause a cloud proxy application of the cloud server system to establish a secure communication pipe with an on-premises proxy application of the on-premises server system;
receiving, from the cloud server system in accordance with a time-to-live requirement and via the cloud proxy application:
issue data for the particular issue; and
a set of code objects associated with the particular issue and sourced, via the on-premises proxy application using the secure communication pipe, from a code repository hosted by the on-premises server system;
causing display of the set of code objects and the issue data in the frontend issue tracking application;
receiving a user modification to at least one code object of the set of code objects via the frontend issue tracking application;
transmitting, to the cloud server system, a code variation request comprising the user modification to the at least one code object of the set of code objects, wherein the code variation request is configured to cause the cloud proxy application to communicate with the on-premises proxy application via the secure communication pipe to trigger execution, at the code repository hosted by the on-premises server system, of an update action comprising the user modification to the at least one code object;
subsequent to transmitting the code variation request, transmitting, with respect to the frontend issue tracking application and to the cloud server system, a second issue view request with respect to the particular issue;
receiving, from the cloud server system, a portion of the code repository including the user modification to the at least one code object of the set of code objects, the portion of the code repository sourced via a second secure connection with the on-premises server system established via the cloud proxy application; and
causing display of at least the portion of the code repository in the frontend issue tracking application.
11 . The method of claim 10 comprising:
causing display, in the frontend issue tracking application, of a location identifier for the set of code objects indicating the on-premises server system.
12 . The method of claim 10 comprising:
causing display, in the frontend issue tracking application, of at least one of:
a commit identifier associated with the set of code objects;
a pull request identifier associated with the set of code objects; or
an identifier of the code repository.
13 . The method of claim 10 comprising:
prior to providing the frontend issue tracking application, authenticating first credentials provided by a user; and
transmitting the first issue view request and the second issue view request with respect to second credentials for the frontend code application associated with the user.
14 . The method of claim 10 , wherein causing display of the set of code objects and the issue data in the frontend issue tracking application comprises:
causing display of project information extracted from the issue data in a first graphical region of the frontend issue tracking application;
causing display of issue information extracted from the issue data in a second graphical region; and
causing display of the set of code objects in a third graphical region configured to receive user inputs including the user modification to the at least one code object of the set of code objects.
15 . The method of claim 10 , wherein the set of code objects includes at least one Git object.
16 . The method of claim 10 comprising:
prior to causing display of the set of code objects and the issue data in the frontend issue tracking application, transmitting a lock request to the cloud server system, thereby causing the cloud server system to instruct the on-premises server system to lock the set of code objects in the code repository.
17 . A method for modifying code objects hosted at an on-premises server system, the method comprising:
causing, on a client device, instantiation of a frontend issue tracking application for issues corresponding to code objects and instantiation of a frontend code application separate from the frontend issue tracking application;
transmitting, from the frontend issue tracking application and to a cloud server system providing web-based access to a backend issue tracking system, an issue view request with respect to a particular issue hosted by the backend issue tracking system, wherein the issue view request is configured to cause a cloud proxy application of the cloud server system to establish a secure communication pipe with an on-premises proxy application of an on-premises server system;
receiving, in accordance with a time-to-live requirement and from the cloud server system via the cloud proxy application:
issue data for the particular issue; and
a set of code objects having identifiers associated with the particular issue and sourced, via on-premises proxy application using the secure communication pipe, from a code repository hosted by the on-premises server system;
causing display of the set of code objects and issue information extracted from the issue data in the frontend issue tracking application;
receiving a user modification to at least one code object of the set of code objects via the frontend issue tracking application;
transmitting, to the cloud server system, a code variation request comprising the user modification to the at least one code object of the set of code objects, wherein the code variation request is configured to cause the cloud proxy application to communicate with the on-premises proxy application via the secure communication pipe to trigger execution, at the code repository hosted by the on-premises server system, of an update action comprising the user modification to the at least one code object;
subsequent to transmitting the code variation request, transmitting, with respect to the frontend code application and to the on-premises server system, a code view request with respect to the code repository;
receiving, from the on-premises server system, at least a portion of the code repository, wherein the portion of the code repository includes the user modification to the at least one code object of the set of code objects; and
causing display of at least the portion of the code repository in the frontend code application.
18 . The method of claim 17 , wherein causing display of the set of code objects and the issue data in the frontend issue tracking application comprises:
causing display of project information extracted from the issue data in a first graphical region of the frontend issue tracking application;
causing display of issue information extracted from the issue data in a second graphical region; and
causing display of the set of code objects in a third graphical region configured to receive user inputs including the user modification to the at least one code object of the set of code objects.
19 . The method of claim 18 wherein the code variation request is transmitted in response to receiving a user selection of a selectable commit element displayed in the frontend issue tracking application.
20 . The method of claim 17 comprising:
prior to providing the frontend issue tracking application, authenticating first credentials provided by a user; and
transmitting the issue view request with respect to second credentials for the frontend code application associated with the user.