# Automated Transport import along with Transport Promotion

### **Release Pipelines**

Release Pipelines orchestrate automated deployments into SAP environments with the right approvals in place. Each pipeline can contain **one or more stages**, corresponding to SAP environments like Dev, QA, Staging, and Production.

{% hint style="info" %}
**Note:** You can create a multi-stage pipeline for continuous deployment across various environments one after the other towards continuous delivery of application all through Dev - QA - Staging - Production.
{% endhint %}

### **Creating a Release Pipeline**

Creating a **Release Pipeline** is a three-step process.

| **Step1** | Enter a name in Release Pipeline Name                                                                                                    |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Step2** | Click '**Add Stages**' to add the required stages. Add various types of pre-deployment, deployment, and post-deployment tasks as needed. |
| **Step3** | Specify the email ids to receive notifications about release pipeline execution status.                                                  |

#### For creating release pipeline:

1. Select the required on-premise project, and from the ***Releases*** section, navigate to ***Release Pipelines***.<br>

   <figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FYcKhxBPJZG1aluwQlIR2%2Fimage.png?alt=media&#x26;token=116ed4f4-5963-436d-86bb-868e60c81811" alt=""><figcaption></figcaption></figure>
2. Click **Create New Release Pipeline.**
3. **Release Pipeline Name:** Give a name for the release pipeline.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FvSdAibNn4veEGJe5i3UG%2Fimage.png?alt=media&#x26;token=091a5d2f-7fd6-4de3-8e39-41e3c5b9d48c" alt=""><figcaption></figcaption></figure>

4. **Add Stages:**

   * Click **Add Stage**
   * Name the stage (e.g., `Dev`, `QA`, `UAT`, `Prod`)
   * Click **OK**<br>

   <figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FgiNtworwUw79tUEHTsKy%2Fimage.png?alt=media&#x26;token=b1299448-2f54-47ad-88ae-fa1b2aac1691" alt=""><figcaption></figcaption></figure>
5. Add Tasks in Each Stag&#x65;**:** Click **Add** to configure tasks within the stage.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FH7bIT3LBrZczQo5mFdnp%2Fimage.png?alt=media&#x26;token=cd6486cd-da94-4d83-9886-841803f1e27f" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**Note:** All the tasks **except Deployment** Task are similar for any project type.
{% endhint %}

6. Once all tasks are added, click the **Save** button to finalize the pipeline configuration.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2Fw32ASe1oDiwr2z1z0dTq%2Fimage.png?alt=media&#x26;token=0e274345-7fe3-4c8b-9710-968e9d31a9c6" alt=""><figcaption></figcaption></figure>

#### **Post-Creation Options**

Once the Release Pipeline is created, you can use the **Actions** button for the following options:

* **Save As**:  Opens a popup where you can enter a new name and create a copy of the pipeline.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2F8UhNATtDHVpw6s8aT7yM%2Fimage.png?alt=media&#x26;token=6dd1764a-8abd-430d-be66-367424f110d2" alt=""><figcaption></figcaption></figure>

* **Archive** : The **Archive** option is available, which archives the project instead of deleting it.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2F1lbTw0KrzUBXW2TfVMPO%2Fimage.png?alt=media&#x26;token=1d53bf4e-f24a-4b48-8e75-047581ad1728" alt=""><figcaption></figcaption></figure>

**Export Release Pipeline:** It is the process of downloading the complete configuration of an existing release pipeline as a file (usually in **JSON format**) so it can be reused, shared, or backed up.

1. Navigate to the **Release Pipelines** section.
2. Select the existing pipeline you want to reuse.
3. Click **Export Release Pipeline**.
4. The pipeline configuration is downloaded as a **JSON file** to your local system.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FSghuNpD6v18oKm8IuhlZ%2Fimage.png?alt=media&#x26;token=ec29e6e3-d4ae-4dc0-a460-d1016679cd1d" alt=""><figcaption></figcaption></figure>

**Import Release Pipeline** : It is a process of creating a new release pipeline by uploading a previously exported pipeline configuration file (usually in **JSON format**).

1. Navigate to the **Release Pipelines** section.
2. Click **New Release Pipeline**.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2Fc4kpVXmCK65ymFplj470%2Fimage.png?alt=media&#x26;token=5ff8cacc-0375-40ce-ae62-e783a2809a1a" alt=""><figcaption></figcaption></figure>

3. Select the **Import Release Pipeline.**&#x20;
4. Upload the previously exported **JSON** file.
5. Enter a name for the new release pipeline.
6. Review the pipeline details.
7. Click **Create** to create the new release pipeline.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FBz6TWjPEvl9f5cZ3Cijj%2Fimage.png?alt=media&#x26;token=36b39d56-f092-4a5d-8baa-3c8b4429acf1" alt=""><figcaption></figcaption></figure>

**Monitoring Release Pipeline Execution**

* When you **click the navigation button**, you can view the **complete status** of the release pipeline execution. This includes:

  * **Who triggered** the pipeline
  * The **trigger time**&#x20;
  * The **current execution status** of each stage

  <figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FJJHRTi3pXK615FkIn5Bj%2Fimage.png?alt=media&#x26;token=413b76be-40ec-4fad-a5c8-8af82e5685fd" alt=""><figcaption></figcaption></figure>

  <figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FA8WVicJZeMTAMg1BI2Sq%2Fimage.png?alt=media&#x26;token=000299e9-35e5-440c-b9c0-8ded9eb24cd8" alt=""><figcaption></figcaption></figure>

  When you **click the Details tab**, you can view:

  * **Stage-wise release logs**
  * **Task-level results**
  * &#x20;**Validation reports**

  <figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FuezKPZ6iWXnt3IHUqOpE%2Fimage.png?alt=media&#x26;token=2f9e235e-dcb9-4c54-8b07-c164fb519820" alt=""><figcaption></figcaption></figure>

  <figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FHVfB7SrFftQxy0FEb42a%2Fimage.png?alt=media&#x26;token=72fc0e5e-6fd2-4b8c-9444-f42fa0b85974" alt=""><figcaption></figcaption></figure>

**Skip and Continue Option in the Validation Task**

In the **Release Pipeline > Details** section, during pipeline execution, you will find **Skip and Continue** button available for the **Validation Task**. This button allow you to bypass the validation step under specific conditions—typically used in exception scenarios where validations are not mandatory or have been reviewed externally. When you click on the **Skip and Continue** button:

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FiWJohfPW7Guomxju9klG%2Fimage.png?alt=media&#x26;token=8ac3aa80-e7c9-4e3b-9ad5-6f9770d00688" alt=""><figcaption></figcaption></figure>

1. A **popup dialog** will appear prompting you to provide a **justification** or **reason** for skipping the validation task (e.g., "Validation not required for this transport", "Approved via external review", or "Urgent fix deployment").
2. Enter the **required reason** in the text field.
3. Click **Skip and Continue** within the popup to proceed.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FGuRFmV73oFu6PR1p96Xr%2Fimage.png?alt=media&#x26;token=1480e482-2361-44bb-b94d-2bf152ef7bb4" alt=""><figcaption></figcaption></figure>

4. The pipeline will then skip the validation step and continue with the next task in the stage .

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2Fp0t0ZpM3XUDoxr1qcubK%2Fimage.png?alt=media&#x26;token=49a5ba42-9fff-414d-8fab-59e636132f06" alt=""><figcaption></figcaption></figure>

### Supported Task Types

| Task Type              | Description                          |
| ---------------------- | ------------------------------------ |
| **Deployment Task**    | Define artifact deployment steps     |
| **Wait for Promotion** | Pauses pipeline for manual promotion |
| **Validation Task**    | Performs static code analysis        |

### **Deployment Task**

The **Deployment Task** defines how an SAP transport request (TR) is deployed to the specified SAP target system during pipeline execution. When you add a Deployment Task to a pipeline stage, a configuration screen appears where you can provide the necessary transport deployment details.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2F8JD6LxitSChcB0m84vaF%2Fimage.png?alt=media&#x26;token=b6813a51-a101-40f7-b666-0bbfd46038c5" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FHVYbHTzg2PObJ12eGntR%2Fimage.png?alt=media&#x26;token=9bef74d3-90c5-4b72-a6eb-4c5e008ec2b4" alt=""><figcaption></figcaption></figure>

Fill in the required details:

| **Name**                   | Deployment task name                                                                                                                                           |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Domain Controller**      | Select the appropriate Transport Domain Controller which is the system from which one can make changes to SAP Transport Management System.                     |
| **Target System**          | Enter the Target System which is to be updated with the changes from the Source System.                                                                        |
| **Schedule Time**          | Allows you to specify a future time and date for when the deployment task should be executed automatically.                                                    |
| **Notify Users**           | Sends deployment status notifications (Success/Failure) to all users associated with the pipeline stage.                                                       |
| **Notify Transport Users** | Notifies only those users who are linked to the transports being deployed, providing more targeted communication.                                              |
| **Notify Promotion User**  | Sends notifications to the user who promoted the user story or release package that triggered this deployment.                                                 |
| **Description**            | A free-text area where you can enter notes or additional information about the deployment task. This is useful for providing context or specific instructions. |

### **Wait For Promotion Task**

By default, a pipeline executes the configured tasks sequentially, one after the other. The **Wait for Promotion** task is used to pause the execution at a specific stage, preventing the pipeline from automatically proceeding to the next stage. It holds the process until a manual promotion is triggered by the user. Multiple tasks waiting at the same stage can be grouped into a **Release Package**, allowing them to be promoted together to the next stage in the Release Pipeline.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FfCd9ruXJkjvbBIaK4eR2%2Fimage.png?alt=media&#x26;token=9f511fe5-516f-4e2a-b495-f66296377b2d" alt=""><figcaption></figcaption></figure>

### **Validation Task**

Validation task is added to perform Static Code Analysis checks and generate the validation report to view the errors encountered.

| **Field / Option**      | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Domain Controller**   | Dropdown to select the domain controller for the transport landscape.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Source**              | Source system from where transports will be validated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Target**              | Target system where the transport is expected to move.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Pipeline Execution**  | Section indicating execution preferences for the task.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Continue on Failure** | Checkbox to allow pipeline execution to continue even if validation fails.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **Quality Checks**      | <p><strong>ATC Checks:</strong> Executes <strong>ABAP Test Cockpit (ATC)</strong> checks to analyze code quality, syntax errors, performance, and security compliance.                                                                     </p><p></p><p><strong>Impact Analysis:</strong> Checks how the changes in the transport affect other dependent or referencing objects across systems.                                                                      </p><p></p><p><strong>Unit Tests:</strong> Runs <strong>ABAP Unit Tests</strong> to verify the functional correctness of the objects in the transport.                                                                    </p><p></p><p><strong>User  Story Dependencies (Beta):</strong>  Identifies and validates dependent user stories to prevent conflicts or incomplete deployments.                       </p><p></p><p><strong>Note:</strong> You can select <strong>any one or more</strong> of the following <strong>Quality Checks</strong> when configuring the validation task.</p> |

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FFGbHNhoWSqHkUILvYbku%2Fimage.png?alt=media&#x26;token=bf70217b-f734-4c42-bfdb-72045c4f72c3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2F2q5MpO25PpkasSIsKkrF%2Fimage.png?alt=media&#x26;token=2480987b-6a29-4f1e-80bd-3cb05b5f0011" alt=""><figcaption></figcaption></figure>

### **Promotion**

Promotion is the process of Moving/Deploying/Importing the transports to the target systems using a Release pipeline associated with the project.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FjckjcGzwqooQhq3uPjXU%2Fimage.png?alt=media&#x26;token=dd1037bc-deb0-42e0-8e49-120afd1e644c" alt=""><figcaption></figcaption></figure>

Pre-requisite for the promotion to work is that every stage in the Release pipeline should end with “**Promotion Task”**. Promotion can be performed in two ways – via User Story and via Release Package.

#### **a) Promotion by User story**

1\. From Actions Menu of the User story, promotion can be done.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2Fq2SgcXgmZnUtEQE25fgj%2Fimage.png?alt=media&#x26;token=a1f1ca78-5315-4c9d-92db-062e853dbfec" alt=""><figcaption></figcaption></figure>

2\. Clicking Promote will Trigger the Release pipeline associated with the project.

3\. The column “**Pipeline Stage**” shows the current stage in the Release Pipeline execution and status of the Release Pipeline.

4\. The column “**Pipeline Status**” shows the current task in the stage or overall status of the Release Pipeline.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FXMoMr1vmFVn1hkyTa2x9%2Fimage.png?alt=media&#x26;token=00fea214-01b2-4254-bbe8-35ba2bb6b41f" alt=""><figcaption></figcaption></figure>

5\. Runtime view of the pipeline can be viewed using “**Pipeline Activity**” menu option in the Actions Menu.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FvdkZIEwfTUgdOVJJTLrV%2Fimage.png?alt=media&#x26;token=f251f2ff-924e-4f35-b458-3c50a3b0e605" alt=""><figcaption></figcaption></figure>

6\. The pipeline activity screen shows all the stages of the Release Pipeline. Clicking on the stage shows the tasks and its execution status.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FuESTHtuRqRnO87jsvOnK%2Fimage.png?alt=media&#x26;token=7f5b6555-4fa4-462f-a600-fa5f6c05a6cf" alt=""><figcaption></figcaption></figure>

7\. Once Pipeline execution reaches the “**Promotion Task**”, the pipeline will continue to wait until further promotion from the User Story or Release Package.

{% hint style="info" %}
**Note:** The **Wait for Promotion** task is **needed** for a **multistage** Release Pipeline if the user wants to **wait** or **hold** the promotion of the user story to further stages.
{% endhint %}

8\. User Story can be promoted to the next stage (in this case, Prod) or a new Release Package can be created with all the User Stories waiting in UAT stage (here in this case) for getting promoted to Prod.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FD06qg0XerLTQq9Mde43F%2Fimage.png?alt=media&#x26;token=72a41f2c-4731-4faa-a3e3-98265e3d9fec" alt=""><figcaption></figcaption></figure>

#### **b) Promotion by Release Package**

Release Package is a logical grouping of user stories or transports that are to be promoted as a single unit instead of promoting each user story separately. If Start stage is mentioned in the Release package, then only the user stories or transports with the current stage same as the one specified in the Release Package are eligible for promotion. It uses the Release Pipeline associated with the project for promotion.

{% hint style="info" %}
**Note:** Promotion of Release Package can be done either through user stories or by transports.
{% endhint %}

### **Promotion of Release Package by User Stories**

1\. Clicking **“Add Stories for Promotion”** will add all the user stories eligible for promotion from the selected **Promoted from (Stage)** as a unit.<br>

**Key Points to Note:**

* **(a)** By default, the **Promote from Stage** is set to **Dev**. If you want to promote stories already pushed to **QA**, simply select **QA** as the source stage. This allows you to promote all eligible QA stories to the next stage as a single unit instead of doing it individually.
* **(b)** If a user story is at a **lower stage** than the selected **Promote from Stage**, you must first promote that story to the required stage before including it in the Release Package.
* **(c)** User stories that are already at a **higher stage** than the selected **Promote from Stage** **cannot** be added to the Release Package.
* **(d)** You may add other user stories manually using the **“Add User Stories”** option, but ensure those are also promoted to the selected stage before promoting the entire package.

### **Promotion of Release Package by Transports**

1\. Clicking **“Add Stories for Promotion”** will add all the transports eligible for promotion from the selected **Promoted from (Stage)** as a unit.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FKkI7bCq7DvUfhMjYnT7Z%2Fimage.png?alt=media&#x26;token=d1478f85-accb-4a7f-bf2b-c04cfe047c5c" alt=""><figcaption></figcaption></figure>

The following points apply when promoting a Release Package based on transports:

* **(e)** By default, the **Promote from Stage** is set to **Dev**. If you wish to promote all transports already pushed to **QA**, select **QA** from the available options. This allows all transports in QA to be promoted to the next stage as a single unit rather than promoting them individually.
* **(f)** If you add transports that are currently at a **lower stage** than the selected **Promote from Stage**, ensure those transports are promoted to the appropriate stage before including them in the Release Package.
* **(g)** You **cannot** add transports that are already at a **higher stage** than the selected **Promote from Stage**.
* **(h)** You can manually add additional transports using the **“Add Transport”** option. However, make sure these transports are also promoted to the selected stage before attempting to promote the entire Release Package.

2\. From the Action Menu of the Release package, click on “**Promote**”.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FdV747DZHv6eCyZb2XLAN%2Fimage.png?alt=media&#x26;token=07ee5635-9ba4-4163-9e8d-b4ffbff808c4" alt=""><figcaption></figcaption></figure>

3\. Execution of the Release package can be seen using the option “**Pipeline Activity**.”<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FbUEBT0znffOQ7qThb2D4%2Fimage.png?alt=media&#x26;token=993f2aee-941d-487d-b3da-87b10558f12f" alt=""><figcaption></figcaption></figure>

4\. Once Promotion for **Release package** starts then the **Release Package** will be locked and no changes are possible like addition of more user stories or transports.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FmhJLM7k9p3Buq4rFH9JH%2Fimage.png?alt=media&#x26;token=e06af88b-88df-452e-a46d-a600261f5d52" alt=""><figcaption></figcaption></figure>

5\. User has to unlock **Release Package** to backout any of the user stories or transports after promotion. In role permissions, user should have **Unlock Release Package permission**.

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2F3h33rpHg5DzFgz9hTNc9%2Fimage.png?alt=media&#x26;token=3ff219f2-7345-4cab-b0b5-14de2ac9823c" alt=""><figcaption></figcaption></figure>

### **Multi-Stage Release Pipeline**

Any number of stages can be added while creating a release pipeline. An existing release pipeline can also be edited to include various stages.

This is required when we want the deployments to take place in multiple environments one after the other continuously which is a part of Continuous Delivery.

For each stage, the tasks are to be added separately. This corresponds to the tasks that are to be performed in that particular environment for the deployment to take place and the required actions that are to be taken.<br>

<figure><img src="https://1890383800-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDWyxe6hm5vqosFaByVgs%2Fuploads%2FxW5urMRqSwdZMkSRZrfD%2Fimage.png?alt=media&#x26;token=4637e630-7a46-4e2a-916c-cbc13093c1b6" alt=""><figcaption></figcaption></figure>
