# US 10,871,957 B2 · Systems and methods for promoting a source code revision for deployment in a target environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,871,957 B2
- Document ID: US10871957B2
- Status: Granted
- Kind: B2
- Application number: 16/285,110
- Filed: 2019-02-25
- Published: 2020-01-02
- Granted: 2020-12-22
- Earliest claimed: 2018-06-28
- Assignees: Atlassian Pty Ltd.; Atlassian Inc.
- Applicants: Atlassian Pty Ltd; Atlassian, Inc.
- Inventors: Matthew John Ryall; Matthew Joseph Watson; Jonathan Lowe; Geoff Crain; Samuel Tannous; Thomas Bradshaw; Piotr Plewa; Davina Adisusila; Jeroen De Raedt
- Web page: https://patentgrep.com/patent/US10871957B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/60: Software deployment
- G06F 8/70: Software maintenance or management
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an embodiment, a computer-implemented method for tracking source code deployments, the method comprises receiving an event descriptor, the event descriptor indicating that a source code repository is updated with a source code integration; retrieving a deployment description associated with the source code repository; comparing the event descriptor with the deployment description to determine whether the source code integration needs to be deployed; in response to determining that the source code integration needs to be deployed, deploying the source code integration; upon completion of the source code deployment, communicating deployment information corresponding to the completed source code deployment to a tracking system, the deployment information comprising at least a deployment identifier, and a source code integration identifier, the tracking system configured to utilize the source code integration identifier to query one or more external systems and automatically retrieve further information associated with the source code integration.

## Claims

### Claim 1

A computer-implemented method for promoting a source code revision for deployment in a target environment, the computer-implemented method comprising:
determining whether a source code revision is ready for deployment in a target environment, the determining based on a status of a tracking descriptor associated with a latest deployment of the source code revision in the target environment;
upon determining that the source code revision is ready for deployment in the target environment, forwarding a notification to a client device for display on the client device, the notification indicating that the source code revision is ready for deployment in the target environment and including a repository identifier associated with the source code revision, a deployment identifier associated with the latest deployment of the source code revision in the target environment, a source code revision identifier, and an environment identifier for the target environment;
the client device configured to perform:
displaying, on a display of the client device, a deployment summary dashboard, the deployment summary dashboard displaying information about the source code revision and including an interactive control for selecting a promotion of the source code revision for deployment in the target environment; and
in response to receiving a selection of the interactive control for selecting the promotion of the source code revision for deployment in the target environment, generating and displaying a user interface on the client device to request a user to confirm the promotion of the source code revision for deployment in the target environment, the user interface including a control for confirming the promotion of the source code revision for deployment in the target environment, the user interface including information about the latest deployment of the source code revision in the target environment and a preview of changes between the promoted source code revision and the latest deployment of the source code revision in the target environment, the preview of changes including a list of commits between the latest deployment of the source code revision in the target environment and the promoted source code revision and differences in source code between the latest deployment of the source code revision in the target environment and the promoted source code revision;
receiving, from the client device, a notification that a user of the client device has selected the control for confirming the promotion of the source code revision for deployment in the target environment; and
deploying the promoted source code revision in the target environment.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein determining that the source code revision is ready for deployment in the target environment comprises determining that the status of the tracking descriptor associated with the latest deployment of the source code revision in the target environment is set to pending or queued.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein forwarding the notification to the client device for display on the client device includes forwarding the notification to a client device associated with a user that has permission to approve the promotion of the source code revision for deployment in the target environment.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
upon commencement or completion of the deployment of the promoted source code revision in the target environment, communicating deployment information corresponding to the status of the deployment of the promoted source code revision in the target environment to a tracking system, the deployment information corresponding to the status of the deployment of the promoted source code revision in the target environment comprising at least a deployment identifier and a source code revision identifier, the tracking system configured to utilize the source code revision identifier to query one or more external systems and automatically retrieve further information associated with the deployment of the promoted source code revision in the target environment.

### Claim 5

A computer-implemented method for promoting a source code revision, the computer-implemented method comprising:
receiving, at a client device, a notification from a tracking system that a source code revision is ready for deployment in a target environment, the notification including a repository identifier associated with the source code revision, a deployment identifier associated with a latest deployment of the source code revision in the target environment, a source code revision identifier, and an environment identifier for the target environment;
displaying, on a display of the client device, a deployment summary dashboard, the deployment summary dashboard displaying information about the source code revision and including an interactive control for selecting a promotion of the source code revision for deployment in the target environment;
in response to receiving a selection of the interactive control for selecting the promotion of the source code revision for deployment in the target environment, generating and displaying a user interface on the client device to request a user to confirm the promotion of the source code revision for deployment in the target environment, the user interface including a control for confirming the promotion of the source code revision for deployment in the target environment, the user interface including information about the latest deployment of the source code revision in the target environment and a preview of changes between the promoted source code revision and the latest deployment of the source code revision in the target environment, the preview of changes including a list of commits between the latest deployment of the source code revision in the target environment and the promoted source code revision and differences in source code between the latest deployment of the source code revision in the target environment and the promoted source code revision;
receiving a selection of the control for confirming the promotion of the source code revision for deployment in the target environment from a user of the client device;
generating a confirmation message indicating a selection of the promotion of the source code revision for deployment in the target environment; and
forwarding the confirmation message to a continuous integration system for deploying the promoted source code revision in the target environment.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein:
the user interface includes a card indicating a current environment in which the promoted source code revision is deployed, a card indicating the target environment in which the promoted source code revision is to be deployed, and a control associated with the card indicating the current environment; and
dragging the control from the card indicating the current environment to the card indicating the target environment confirms the promotion of the source code revision for deployment in the target environment.

### Claim 7

A system for promoting a source code revision for deployment in a target environment, the system comprising:
a processor; and
a non-transitory computer-readable storage medium storing sequences of instructions, which when executed by the processor, cause the processor to:
determine whether a source code revision is ready for deployment in a target environment, the determining based on a status of a tracking descriptor associated with a latest deployment of the source code revision in the target environment;
upon determining that the source code revision is ready for deployment in the target environment, forward a notification to a client device for display on the client device, the notification indicating that the source code revision is ready for deployment in the target environment and including a repository identifier associated with the source code revision, a deployment identifier associated with the latest deployment of the source code revision in the target environment, a source code revision identifier, and an environment identifier for the target environment;
the client device configured to:
display, on a display of the client device, a deployment summary dashboard, the deployment summary dashboard displaying information about the source code revision and including an interactive control for selecting a promotion of the source code revision for deployment in the target environment; and
in response to receiving a selection of the interactive control for selecting the promotion of the source code revision for deployment in the target environment, generate and display a user interface on the client device to request a user to confirm the promotion of the source code revision for deployment in the target environment, the user interface including a control for confirming the promotion of the source code revision for deployment in the target environment, the user interface including information about the latest deployment of the source code revision in the target environment and a preview of changes between the promoted source code revision and the latest deployment of the source code revision in the target environment, the preview of changes including a list of commits between the latest deployment of the source code revision in the target environment and the promoted source code revision and differences in source code between the latest deployment of the source code revision in the target environment and the promoted source code revision;
receive, from the client device, a notification that a user of the client device has selected the control for confirming the promotion of the source code revision for deployment in the target environment; and
deploy the promoted source code revision in the target environment.

### Claim 8 (depends on 7)

The system of claim 7, wherein the non-transitory computer-readable storage medium further storing sequences of instructions, which when executed by the processor, cause the processor to determine that the source code revision is ready for deployment in the target environment when the status of the tracking descriptor associated with the latest deployment of the source code revision in the target environment is set to pending or queued.

### Claim 9 (depends on 7)

The system of claim 7, wherein the non-transitory computer-readable storage medium further storing sequences of instructions, which when executed by the processor, cause the processor to forward the notification to a client device associated with a user that has permission to approve the promotion of the source code revision for deployment in the target environment.

### Claim 10 (depends on 7)

The system of claim 7, wherein the non-transitory computer-readable storage medium further storing sequences of instructions, which when executed by the processor, cause the processor to:
upon commencement or completion of the deployment of the promoted source code revision in the target environment, communicate deployment information corresponding to the status of the deployment of the promoted source code revision in the target environment to a tracking system, the deployment information corresponding to the status of the deployment of the promoted source code revision in the target environment comprising at least a deployment identifier and a source code revision identifier, the tracking system configured to utilize the source code revision identifier to query one or more external systems and automatically retrieve further information associated with the deployment of the promoted source code revision in the target environment.

### Claim 11

A system for promoting a source code revision, the system comprising:
a processor; and
a non-transitory computer-readable storage medium storing sequences of instructions, which when executed by the processor, cause the processor to:
receive, at a client device, a notification from a tracking system that a source code revision is ready for deployment in a target environment, the notification including a repository identifier associated with the source code revision, a deployment identifier associated with a latest deployment of the source code revision in the target environment, a source code revision identifier, and an environment identifier for the target environment;
display, on a display of the client device, a deployment summary dashboard, the deployment summary dashboard displaying information about the source code revision and including an interactive control for selecting a promotion of the source code revision for deployment in the target environment;
in response to receiving a selection of the interactive control for selecting the promotion of the source code revision for deployment in the target environment, generate and display a user interface on the client device to request a user to confirm the promotion of the source code revision for deployment in the target environment, the user interface including a control for confirming the promotion of the source code revision for deployment in the target environment, the user interface including information about the latest deployment of the source code revision in the target environment and a preview of changes between the promoted source code revision and the latest deployment of the source code revision in the target environment, the preview of changes including a list of commits between the latest deployment of the source code revision in the target environment and the promoted source code revision and differences in source code between the latest deployment of the source code revision in the target environment and the promoted source code revision;
receive a selection of the control for confirming the promotion of the source code revision for deployment in the target environment from a user of the client device;
generate a confirmation message indicating a selection of the promotion of the source code revision for deployment in the target environment; and
forward the confirmation message to a continuous integration system for deploying the promoted source code revision in the target environment.

### Claim 12 (depends on 11)

The system of claim 11, wherein:
the user interface includes a card indicating a current environment in which the promoted source code revision is deployed, a card indicating the target environment in which the promoted source code revision is to be deployed, and a control associated with the card indicating the current environment; and
dragging the control from the card indicating the current environment to the card indicating the target environment confirms the promotion of the source code revision for deployment in the target environment.
