GitHub integration overview

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Boards and Azure Pipelines provide several integration points with GitHub and GitHub Enterprise.

Sign-in with GitHub credentials

Azure DevOps simplifies deployment from your repository with seamless access to the Azure portal and Azure DevOps using your GitHub account credentials.


Feature

Description


Invite GitHub collaborators into Azure DevOps

Provides support for inviting GitHub account users to collaborate within an Azure DevOps project. For more information, see Invite GitHub collaborators into Azure DevOps (Release Notes).


Sign into Azure DevOps using your GitHub credentials

Allows users to sign in using their GitHub credentials and link their GitHub account to a Microsoft account. For more information, see Signing into Azure DevOps using your GitHub credentials (Release Notes).


Connect to a GitHub repository from Visual Studio

Provides a user interface to support cloning GitHub repositories, pushing and pulling commits, and more. For more information, see Side-by-side comparison of Git and Team Explorer.

Azure Boards and GitHub integration

By connecting Azure Boards with GitHub repositories, you enable linking between GitHub commits, pull requests, branches, and issues to work items. You can use GitHub for software development while using Azure Boards to plan and track your work. To get started, see Azure Boards-GitHub integration.


Feature

Description


Connect Azure Boards project to GitHub repos

Supports establishing connection of one or more GitHub repositories to an Azure Boards project.


Connect Azure Boards project to repositories hosted in a GitHub Enterprise Server instance

Supports establishing connection of one or more GitHub repositories hosted in a GitHub Enterprise Server.


Link work items to GitHub commits, pull requests, branches, and issues. Quickly view and open linked objects from the board.

Supports linking GitHub commits, pull requests, branches, and issues to Azure Boards work items. Mentioned work items in GitHub comments are configured as hyperlinks to support quick navigation to Azure Boards work items.
Screenshot of Development control for GitHub.


Add status badges of Azure Boards to a GitHub repository README file.

Supports adding Markdown syntax to a GitHub repo README.md file to display the status of a board. For more information, see Configure status badges to add to GitHub README files.
Screenshot of GitHub status badge.


Work items linked to GitHub commit in Release Summary

Review list of all work items linked to GitHub commits in the Release summary page, which helps teams track and retrieve more information about the commits that have been deployed to an environment.


Sync GitHub Issues to Azure Boards Work Items

Using the GitHub Action, GitHub Issues to Azure DevOps you can sync your GitHub Issues to your Azure Boards. For more information, see Sync GitHub Issues to Azure DevOps Work Items (Release Notes).


Azure Pipelines and GitHub integration

You can use Azure Pipelines to automatically build, test, package, release, and deploy your GitHub repository code. To get started, see Build GitHub repositories.

You can map your GitHub repositories to one or more projects in Azure DevOps.

Conceptual image of GitHub and Azure Pipelines integration.

Feature

Description


GitHub repository and pull request builds

Automatically build pull requests from repository forks to ensure changes successfully build and tests pass before they get merged. For more information, see Build GitHub repositories.


GitHub repository and pull request builds

  • Automatically build your GitHub pull requests. After the build is done, status is reported back with a comment in your GitHub pull request.
  • Manually run a pipeline or test suite triggered by a GitHub pull request comment.
  • Configure draft PR validation for GitHub repository. Supports adding drafts to the pr trigger YAML syntax for GitHub draft pull requests. You can choose if you want your draft PRs to queue a build. The default option is true (a build is queued) like it currently is for GitHub PRs.
  • Rebuild GitHub pull request builds upon failure. Provides support for queueing a failed build.
  • Configure draft PR validation for GitHub repositories
  • Automatically build pull requests from repository forks to ensure changes successfully build and tests pass before they get merged. For more information, see Build GitHub repositories.

GitHub Enterprise builds

Supports continuous integration (CI) builds for GitHub Enterprise repositories. For more information, see Build GitHub repositories, CI triggers.


GitHub Enterprise builds

  • Supports continuous integration (CI) builds for GitHub Enterprise repositories.
  • Create a pipeline to build code contained within a GitHub Enterprise repository using the build pipeline wizard. For more information, see Build GitHub repositories, CI triggers.

GitHub service connections

The pipeline wizard automatically creates and reuses a service connection for the repository you choose. If you wish to manually choose a connection other than the one that is automatically selected, follow the Choose connection hyperlink. For more information, see Build GitHub repositories.


Manage GitHub releases


Manage GitHub releases

  • Inline GitHub connection as a release artifact source.
  • Automate GitHub releases using the GitHub Release task.
  • Link your GitHub releases as an artifact source in release pipelines. This function lets you consume the GitHub release as part of your deployments.
    For more information, see:
  • CI triggers
  • Download GitHub Release task
  • GitHub Release task

Filter GitHub branches for GitHub, GitHub Enterprise, or external Git artifacts

When you release from GitHub, GitHub Enterprise, or external Git repositories, you can configure the specific branches to release. For example, you might want to deploy only builds coming from a specific branch to production. For more information, see Release triggers, Continuous deployment triggers.


Use build tags to trace GitHub sources

Use build tags to trace GitHub sources to builds. While choosing a GitHub repository in a build definition, you can select the types of builds you want to tag, along with the tag format. For more information, see Build GitHub repositories, Label sources.


Use build tags to trace GitHub sources or trigger GitHub releases

Use build tags to trace GitHub sources to builds. While choosing a GitHub repository in a build definition, you can select the types of builds you want to tag, along with the tag format.

  • Use build tags to trace GitHub sources to builds. While choosing a GitHub repository in a build definition, you can select the types of builds you want to tag, along with the tag format.
  • Specify a tag pattern to determine when to trigger a GitHub release. By specifying a tag regular expression, you can control when a GitHub release is created based on the triggering commit.
    For more information, see Build GitHub repositories, Label sources.

GitHub packages support in YAML pipelines

In your YAML pipeline, specify a package type (NuGet or npm) that you want to consume from GitHub. For more information, see Resources: packages.


Status checks, tracking, and traceability

  • GitHub Checks: Display status for each pipeline job: Run a pipeline or test suite to validate a GitHub pull request from the comments section of the GitHub pull request.
  • GitHub Checks: Send detailed information about the pipeline status, test, code coverage, and errors. Status is posted to GitHub Checks for each job in the pipeline.
  • Status badges: Add Markdown syntax to a GitHub repo README.md file to display the pipeline status.
  • GitHub artifacts: Show associated commits deployed in a release. To enhance traceability, you can see all the commits that were deployed to an environment for GitHub repositories, as a part of a specific release.
  • Track GitHub commits and associated issues in releases. List commits made in GitHub repos and the associated GitHub issues that are being deployed with a release. For more information, see Track GitHub commits and associated issues in releases (Release Notes).

For more information, see: