Saturday, March 28, 2020

Export Azure DevOps Pipeline Created with Task Groups from One Team Project to Another

While configuring build and deployment pipelines in Azure DevOps , we can create a new pipeline from the scratch or export existing pipeline from another Azure DevOps team project and update the values as relevant to the current project. You can export Azure DevOps build and release pipelines from one project to another project regardless these project in same organization or different organization using the mechanism explained here.

As explained in the above mentioned blog, you can export the pipeline from the Azure DevOps project and replace the project id in the downloaded json file with the destination project id.After that you can import the updated json to destination Azure DevOps project to create a pipeline. You can export build pipelines among projects using the mechanism explained above. But if you have used task groups in the build pipelines you may get an issue in the exported pipeline similar to shown below, even though you have imported the required task groups to the target team project before importing the pipeline.Task group tasks shows an error similar to "This task is no longer installed. Re-install the task or remove it .. "


Reason for the above issue is task groups also have a unique ID value in each team project. These ID are referred the pipelines, and exists in the exported json files. The IDs of the task groups in the exported json files of the pipelines is referring to the source team project, which need to be replaced with the target project. If we import the pipeline only after replacing the team project ID explained in the post here, it gives the error in the imported build/release pipeline similar to shown in the above image.

To fix the issue task group ID also need to be get replaced with the target task group ID as explained below. First you need to find the task group ID. The task group ID can be found from the url of the task group in the source team project and the target team project.



Now you can replace the existing task group ID of the exported pipelines json file with target team project task group IDs. After that import the json file to target Azure DevOps team project. Then you would be able to see pipeline is created with the task groups without giving any errors.


This blog discussed the issue faced while importing Azure DevOps build/release pipeline from one team project to another team project, which are using task groups. We have learned if the task groups are used in the build/release  pipelines, task group IDs also need to be replaced with the target team project task group IDs before importing the json to the target team project.


No comments:

Post a Comment