• Overview
  • Documentation
  • Version history

Description

Azure DevOps (formerly Microsoft Team Foundation Server (TFS) or Microsoft TFS) provides services to manage end-to-end flow of a development project. It contains services to share code, track work, and ship software.

Quick Info

Product icon

Product

DevOps Velocity (HCL Accelerate)
Plugin type icon

Type

plugin
Compatibility icon

Compatibility

HCL Accelerate version 2.0 or later
created by icon

Created by

HCL Software
Website icon

Website

Published Date

Last Updated

Summary

The Azure DevOps plugin provides for integration with an Azure DevOps server.

This plugin imports work items, commits, pull requests, builds, and deployment data from an Azure DevOps server and saves them as HCL Accelerate issues. Data between the Azure DevOps server and the HCL Accelerate server is synchronized every five minutes.

The plugin can also orchestrate the deployments in Azure DevOps from HCL Accelerate.

Compatibility

This plugin requires HCL Accelerate version 2.0 or later.

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
4.0.35 Clarifying delimitation problem for properties used. (Example : Comma separated list)
4.0.29 Optional feature of pushing pipeline runs with predefined tags as builds to HCL Accelerate.
Bug fix related to build status
4.0.28 Additional Branch field added
4.0.26 Auto generated User Access Key Related Changes.(For accelerate version 3.0.0 we started supporting auto generated user access key. For version prior to 3.0.0 manually add user access key in the hidden field.)
4.0.16 UAK Changes
4.0.15 Adding Logger and ucv functionality
4.0.3 Resync data feature added
4.0.1 support for release orchestration
3.0.1 Added Deployment Orchestration Support for Azure Release pipeline
2.0.17 Performance Improvement
2.0.14 Removed IBM related keywords
2.0.4 bug fixes for issues in sync deployments

Usage

To use the Azure DevOps plugin, the plugin must be loaded and an instance created before you can configure the plugin integration. You define configuration properties in the user interface or in a JSON file.

Integration type

The Azure DevOps plugin supports scheduled events integration which are listed in the following table.

Scheduled events
Name Description
SyncAzureIssuesEvent Queries the Query Azure DevOps server for new or updated pull requests and commits.
SyncAzureGitDataEvent Queries the Azure DevOps server for new or updated work items.
SyncAzureBuildsEvent Queries the Query Azure DevOps server for build data.
SyncAzurePipelines Queries the Azure DevOps server for deployment data.

Integration

There are two methods to integrate the plugin:

  • Using the user interface
  • Using a JSON file

Using the user interface

  1. From the Plugins page, click Settings > Integrations > Plugins.
  2. Under the Action column for the plugin, click Add Integration.
  3. On the Add Integration page enter values for the fields used to configure the integration and define communication.
  4. Click Save.

Using a JSON file

The JSON file contains the information for creating a value stream and integrating with the Azure DevOps server. The following table describes the information for the creating a HCL Accelerate value stream map.

  1. From a value stream page, download the value stream map. The value stream map is a JSON file used to define integrations.
  2. Edit the JSON file to include the plugin configuration properties.
  3. Save and upload the JSON file. This replaces the current JSON file with the new content.
  4. View the new integration on the Integrations page.

Minimum permission to integrate with Azure Devops

The Azure Devops Account used to generate the token must have the below permission:

1) Build – Read Permission
2) Code – Read Permission
3) Project and Team – Read Permission
4) Release – Read Permission
5) Work Items – Read Permission

How to use Build Tags Field

A new hidden field named as Build Tags is added to Azure Plugin for version 4.0.29 and later:

This field can take the comma-separated list to tags that have been added to a pipeline run. If you provide such tags, only the pipeline runs with these specific tags will be pulled to HCL Accelerate as part of SyncAzureBuildsEvent.

This is how you can add tags to your pipeline run in Azure Devops:

Here, HCL Accelerate is the tag that has been added to the pipeline run.

Configuration Properties

The following tables describe the properties used to configure the integration. Each table contains the field name when using the user interface and the property name when using a JSON file.

  • The General Configuration Properties table describes configuration properties used by all plugin integrations.
  • The Azure DevOps Properties table describes the Azure DevOps configuration properties are unique to the Azure DevOps plugin and define the connection and communication to the Azure DevOps server. When using the JSON method to integrate the plugin these properties are coded within the properties configuration property.

Not all configuration properties are initially displayed in the user interface, to see all properties enable the Hidden field.

General Configuration properties
Name Description Required Property Name
NA The version of the plugin that you want to use. To view available versions, click the Version History tab. If a value is not specified, the version named latest is used. No image
Integration Name An assigned name to the value stream. Yes name
Logging Level The level of Log4j messages to display in the log file. Valid values are: all, debug, info, warn, error, fatal, off, and trace. No loggingLevel
NA List of plugin configuration properties used to connect and communicate with the Azure DevOps server. Enclose the properties within braces. Yes properties
  The name of the tenant. Yes tenant_id
NA Unique identifier assigned to the plugin. The value for the Azure DevOps plugin is ucv-ext-azure Yes type
Azure DevOps Properties
Name Type Description Required Property Name
Access Token Secure The access token to authenticate with the Azure DevOps server. You can use either this property or the Password property to authenticate with the server. No accessToken
Organization String The name of the Azure organization in which the specified project exists. Yes organization
Password Secure The password used to authenticate with the Azure server. Use either this or an access token. No password
Project String The name of the Azure DevOps project from which to pull data. Yes project
Branch Name String The branch to pull commits from. No branchName
Additional Branches Array A comma seperated list of additional branches to collect commits from besides the main one, leave blank if not needed. No otherBranches
Proxy Password Secure The password used to authenticate with the proxy server. No proxyPassword
Proxy Server String The URL of the proxy server including the port number. No proxyServer
Proxy User Name String The user name used to authenticate with the proxy server. No proxyUsername
Repositories Array A comma seperated list of repositories from which to import pull request, commit, and build data. No repositories
URL String The URL of the Azure DevOps server. Yes baseUrl
User Name String The user name to authenticate with the Azure DevOps server. No username
HCL Accelerate User Access Key Secure The user access key to authenticate with the HCL Accelerate server. No ucvAccessKey
Build Tags Array Comma separated list of tags for pushing pipeline runs as build to this server. If kept empty all the pipeline runs will be pushed as builds. No tags

Release orchestration

This plugin can be used to orchestrate releases in Azure Devops.

Compatibility

  • HCL Accelerate version 2.4.0 and later is required to support release orchestration in Azure Devops.
  • Azure Devops plugin version 3.0.1 and later supports release orchestration of Azure Devops release pipelines.
  • Azure Devops plugin version 4.0.1 and later supports release orchestration using Azure Devops yaml pipelines.

Orchestrating Azure release pipelines from Accelerate

The plugin syncs repositories, builds, pipelines, releases definitions, environments, pipeline runs and release executions every five minutes with Accelerate. A repository in Azure can be mapped as an application in Accelerate pipeline. The build that is created after mapping the application appears as version in the Input column of the Accelerate pipeline.

In the following graphic,

  • Parts Unlimited is the Azure Project and my-new-repo is one of the repositories in the Parts Unlimited project.
  • Parts Unlimited/my-new-repo is mapped as the application.
  • 20210729.02 is the latest build created in Azure Devops for this repository.

The release definitions can be mapped as processes in the Accelerate pipeline. For example, Demo-success is the release definition which is deploying to QA environment as shown in the following graphic. The graphic also shows that Demo-success is mapped as the process for Accelerate QA environment.

 

QA-my-new-repo is the release environment in Azure Devops for the above release definition. The following graphic shows the mapping the Azure Devops environment in the Accelerate pipeline.

To orchestrate the deployment from Accelerate, select the version using the deploy option as show in the below picture.

 

A new release is created in Azure Devops. The deployed version is synced with Accelerate within 5 minutes of deployment as show in the below picture.

Notes

In order to orchestrate the release in Azure using this plugin, there should be separate release pipelines defined for each stage.

 

Orchestrating Azure yaml pipelines from Accelerate

In order to orchestrate the Azure yaml pipeline using this plugin, the yaml pipeline has to be exploded in such a way that an Azure pipeline deploys to a single environment in Azure.

In the below example, ‘pipelines-javascript-new’ is the project name as well as the repo name. The Azure yaml pipeline is exploded into two pipelines, ‘pipelines-javascript-new-CI’ and ‘pipelines-javascript-new-CD’. ‘pipelines-javascript-new-CI’  contains the build and test jobs and also the ‘PublishBuildArtifacts@1’ task which uploads the artifact to a  to a staging directory. ‘pipelines-javascript-new-CD’ downloads the artifact created in ‘piplines-javascript-new-CI’ and performs the deployment.

The following picture shows the yaml script for ‘pipeline-javascript-new-CI’.

The following picture shows the yaml script for ‘pipelines-javascript-new-CD’. The pipeline script downloads the artifact created by the ‘pipelines-javascript-new-CI’ pipeline and then deploys the artifact. A variable ‘version‘ defines the  ‘pipelineId‘  (line number 15 in the yaml script) which is the version of the artifact to be downloaded. The version will be passed to the pipeline when the pipeline is run from Accelerate.

The below picture shows the ‘pipelines-javascript-new’ repo defined as an application in Accelerate and the ‘pipelines-javascript-new-CD’ pipeline being mapped as a process in Accelerate.

The below picture shows the environment being mapped.

The deployment can be started by clicking on the deploy button in the drop down for the environment as show in the below picture.

The version to be deployed can be selected as follows.

When the deploy button is clicked, plugin will run the mapped Azure pipeline (pipelines-javascript-new-CD). The selected version number will be set as the value for the ‘version‘ variable in ‘pipelines-javascript-new-CD’ pipeline. The artifact with the above selected version will be downloaded and deployed to the Dev environment.

The below picture shows successful deployment.

In short, the following are the needed in order to orchestrate the yaml release pipeline from Azure.

  • There should be a separate pipeline for build and / or test and separate pipelines for deployment to each environment.
  • Each deployment pipeline must have an initial step to download the artifact. The download artifact step will download the artifact created in the CI pipeline. The download artifact step can specify the pipelineId using a variable named ‘version‘. (pipelineId: $(version)). The value of the ‘version‘ will be passed to the pipeline when it is run from Accelerate.

Notes

Plugin supports the release orchestration of:

  • Scripted yaml pipeline for build and deployment
  • Scripted yaml pipeline for build and release pipeline for deployment
  • Designer UI yaml pipeline for build and deployment
  • Designer UI yaml pipeline for build and Release pipeline for deployment

Plugin does not support release orchestration if the source code is not in Azure, i.e, if the source code is in GitHub or BitBucket, release orchestration from Accelerate is not possible.

Automation Tasks

The following automation tasks are available in the ServiceNow plugin:

DeployApp

Use this step to deploy an Azure Devops application.

This step has no input properties.

Adding automation tasks to a release

After the plugin is integrated automated tasks are available to add as a task within a release.

  1. Verify that the Azure Devops server is connected to the HCL Accelerate.
  2. On the Create Task page, select the automation task from the Type field drop-down list.
  3. Complete the properties required for the task.
  4. Click Save.

ucv-ext-azure:4.0.44.tar

Uploaded: 05-Jul-2024 07:59

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.44
 

Release Notes

  • Upload builds based on the repository.

ucv-ext-azure:4.0.43.tar

Uploaded: 05-Jul-2024 07:50

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.43
 

Release Notes

  • Uploading builds according to the branch.
  • Merged syncBuilds event into syncPipelines event to sync resources in correct order.
  • Uploading builds in ascending order of builds created.

ucv-ext-azure:4.0.40.tar

Uploaded: 16-Feb-2023 11:42

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.40
 

Release Notes

  • Minor Bug Fix

ucv-ext-azure:4.0.38.tar

Uploaded: 10-Oct-2022 06:02

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.38
 

Release Notes

  • Minor Enhancements

ucv-ext-azure:4.0.37.tar

Uploaded: 29-Sep-2022 09:53

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.37
 

Release Notes

  • Minor Enhancements
  • Pipelines issue fixed

ucv-ext-azure:4.0.36.tar

Uploaded: 26-Aug-2022 09:38

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.36
 

Release Notes

  • Removed Manual User Access Key: From current version onwards this plugin will only support Auto Generated User Access Key feature of HCL Accelerate.

ucv-ext-azure:4.0.35.tar

Uploaded: 17-Aug-2022 08:00

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.35
 

Release Notes

  • Clarifying delimitation : For the properties used in index.js file clarified delimitation problem . Updated label information and description as comma separated list must be used. So that it is more clear while integrating.

ucv-ext-azure:4.0.29.tar

Uploaded: 02-May-2022 15:50

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.29
 

Release Notes

  • Optional feature of pushing pipeline runs with predefined tags as builds to HCL Accelerate.
  • Bug fix related to build status

ucv-ext-azure:4.0.28.tar

Uploaded: 08-Apr-2022 06:10

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.28
 

Release Notes

  • Additional branch field added.

ucv-ext-azure:4.0.26.tar

Uploaded: 08-Mar-2022 13:09

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.26
 

Release Notes

  • Auto generated User Access Key Related Changes :For accelerate version 3.0.0 we started supporting auto generated user access key. For version prior to 3.0.0 manually add user access key in the hidden field.

ucv-ext-azure:4.0.16.tar

Uploaded: 03-Dec-2021 13:10

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.16
 

Release Notes

  • UAK Changes.

ucv-ext-azure:4.0.15.tar

Uploaded: 01-Dec-2021 16:18

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.15
 

Release Notes

  • Adding logger and UCV functionality.

ucv-ext-azure:4.0.3.tar

Uploaded: 30-Sep-2021 05:32

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.3
 

Release Notes

  • Resync data feature added.

ucv-ext-azure:4.0.1.tar

Uploaded: 29-Jul-2021 11:25

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:4.0.1
 

Release Notes

  • Support for release orchestration.

ucv-ext-azure:3.0.1.tar

Uploaded: 02-Jul-2021 14:14

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:3.0.1
 

Release Notes

  • Added deployment orchestration.
  • Support for azure release pipeline

ucv-ext-azure:2.0.17.tar

Uploaded: 23-Jun-2021 05:58

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:2.0.17
 

Release Notes

  • Performance improvement.

ucv-ext-azure:2.0.14.tar

Uploaded: 03-May-2021 13:26

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:2.0.14
 

Release Notes

  • Removed IBM related keywords.

ucv-ext-azure:2.0.4.tar

Uploaded: 08-Feb-2021 07:31

Pull Command

docker pull hclcr.io/accelerate/ucv-ext-azure:2.0.4
 

Release Notes

  • Bug fixes for issues in sync deployment.

Related Plugins