Use GitHub Actions to trigger a run in Azure Pipelines - Sprint 161 Update

In the Sprint 161 Update of Azure DevOps, we are excited to announce GitHub Actions for Azure Pipelines. With GitHub Actions, you can trigger an Azure Pipelines run directly from your GitHub Actions workflow. We've also added support for multiple repositories in Azure Pipelines so you can fetch and checkout other repositories in addition to the one you use to store your YAML pipeline.

Check out the Features list below for more.

What’s new in Azure DevOps

Features

General:

Azure Pipelines:

Azure Repos:

General

Use publish profile to deploy Azure WebApps for Windows from the Deployment Center

Now you can use publish profile-based authentication to deploy your Azure WebApps for Windows from the Deployment Center. If you have permission to deploy to an Azure WebApp for Windows using its publish profile, you will be able to setup the pipeline using this profile in the Deployment Center workflows.

Azure Pipelines

Checkout multiple repositories in Azure Pipelines

Pipelines often rely on multiple repositories. You can have different repositories with source, tools, scripts, or other items that you need to build your code. Previously, you had to add these repositories as submodules or as manual scripts to run git checkout. Now you can fetch and check out other repositories, in addition to the one you use to store your YAML pipeline.

For example, if you have a repository called MyCode with a YAML pipeline and a second repository called Tools, your YAML pipeline will look like this:

resources:
repositories:
  - repository: tools
    name: Tools
    type: git

steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)

The third step will show two directories, MyCode and Tools in the sources directory.

Azure Repos Git, GitHub, and Bitbucket Cloud repositories are supported. For more information, see Multi-repo checkout.

Use GitHub Actions to trigger a run in Azure Pipelines

We now have GitHub Actions for Azure Pipelines (Azure/pipelines). You can use Azure/pipelines to trigger a run in Azure Pipelines as part of your GitHub Actions workflow.

GitHub Actions makes it easy to build, test, and deploy your code right from GitHub. You can also use it to trigger external CI/CD tools and services. For example, you can use GitHub Actions for continuous integration, and Azure Pipelines for continuous delivery to leverage features like Approvals, Environments and deep integration with Kubernetes.

You can use this action to trigger a specific pipeline (YAML or classic release pipeline) in Azure DevOps. GitHub Actions will take the Project URL, pipeline name, and a Personal Access Token (PAT) for your Azure DevOps organization as inputs.

You can find starter templates here.

Updated ServiceNow integration with Azure Pipelines

The Azure Pipelines app for ServiceNow helps integrate Azure Pipelines and ServiceNow Change Management. With this update, you can integrate with the New York version of ServiceNow. The authentication between the two services can now be made using OAuth and basic authentication. In addition, you can now configure advanced success criteria so you can use any change property to decide the gate outcome.

Set VSTest tasks to fail if a minimum number of tests are not run

The VSTest task discovers and runs tests using user inputs (test files, filter criteria, and so forth) as well as a test adapter specific to the test framework being used. Changes to either user inputs or the test adapter can lead to cases where tests are not discovered and only a subset of the expected tests are run. This can lead to situations where pipelines succeed because tests are skipped rather than because the code is of sufficiently high quality. To help avoid this situation, we've added a new option in the VSTest task that allows you to specify the minimum number of tests that must be run for the task to pass.

Badge

UCS-4 support for Python 2.7

Python 2.7 is available on most of the hosted build agents. Previously, we were shipping Python 2.7 built with UCS-2 (2-octet universal character set) support. UCS-2 does not represent all Unicode characters. Because of this, we switched our Python 2.7 implementation to UCS-4 to represent all the characters available in Unicode. We expect that this won't affect you because most packages are independent of the Unicode support built into Python.

Create bulk subscriptions in Azure Pipelines app for Slack and Microsoft Teams

Users of the Azure Pipelines app for Slack and Microsoft Teams can now bulk subscribe to all of the pipelines in a project. You can use filters to manage what gets posted in the Slack or Teams channels. You can continue to subscribe to individual pipelines too.

Slack:

Slash command: /azpipelines subscribe [project url] ​

Example: /azpipelines subscribe https://dev.azure.com/myorg/myproject​

Badge

Microsoft Teams:

Command: @Azure Pipelines subscribe [project url] ​

Example: @Azure Pipelines subscribe https://dev.azure.com/myorg/myproject​

Badge

Azure Repos

Create bulk subscriptions in Azure Repos app for Slack and Microsoft Teams

​ Users of the Azure Repos apps for Slack and Microsoft Teams can now bulk subscribe to all the Git repositories in a project. Filters can still be used to manage what gets posted in the Slack or Teams channels. You can still subscribe to individual Git or TFVC repositories.

Slack:

Slash command: /azrepos subscribe [project url] ​

Example: /azrepos subscribe https://dev.azure.com/myorg/myproject

Badge

Microsoft Teams:

Command: @Azure Repos subscribe [project url] ​

Example: @Azure Repos subscribe https://dev.azure.com/myorg/myproject​

Next steps

Note

These features will roll out over the next two to three weeks.

Head over to Azure DevOps and take a look.

Feedback

We would love to hear what you think about these features. Use the help menu to report a problem or provide a suggestion.

Make a suggestion

You can also get advice and your questions answered by the community on Stack Overflow.

Thanks,

Aaron Hallberg