July 25th, 2024

Update on Azure Boards + GitHub Integration

Dan Hellem
Program Manager

It’s been a few months since our last update on the initiative to enhance the integration between Azure Boards and GitHub. We’re excited to share that many new features have been completed and are in the process of being rolled out. Here’s a summary of our progress so far, along with an announcement of two new features 🎉.

Create GitHub branch from work item (new)

You can now create a GitHub branch directly from a work item within Azure DevOps. The “New GitHub Branch” link is available whenever a GitHub connection is configured for your project. This link can be found in all work item context menus, including the work item form, card, backlog, and queries. To create a new branch, simply enter the branch name, select the desired repository, and choose the base branch.

Image create branch 1

Connect to GitHub repository search improvements (new)

We have enhanced the process of connecting an Azure DevOps project to a GitHub organization, particularly for those managing thousands of GitHub repositories. Previously, you may have encountered challenges such as timeout errors and long wait times. The experience is now optimized, allowing you to search and select repositories without performance issues.

Image search repos 1

AB# links on GitHub pull requests

AB# links will now appear directly in the Development section of GitHub pull requests. This means you can view the linked work items without navigating through descriptions or comments, providing easier access to those AB# links.

Image gh ab links on pr classic

These links will only be available when you use AB# in the pull request description. They won’t appear if you link directly from the work item to the pull request. Removing the AB# link from the description will also remove it from the Development section.

📝 This feature is complete, but it is still in the process of being released.

Show GitHub pull request details (on hold)

You can now see if the GitHub pull request is in draft mode, needs a review, or has status checks running directly from the links on the work item form.

Image pr details 1

Unfortunately, this feature is currently on hold from being globally released as we work through some outstanding bugs. However, we expect to resolve these issues within the next few weeks, after which we can begin rolling it out to all customers.

Improved AB# validation

We’ve enhanced the Azure Boards app to better notify users about the validity of work item links, helping them spot and fix any issues before merging with a pull request.

Image ab bot 1

What is next?

There are a few more scenarios we have yet to complete. You can expect to see more information about these features on the Azure DevOps Roadmap in the coming weeks.

Author

Dan Hellem
Program Manager

Dan is a Program Manager with Microsoft's Azure DevOps

2 comments

Leave a comment

Newest
Newest
Popular
Oldest
  • Markowitz, Steven

    Hi Dan,

    These new integration features look great… my team is planning a migration from Azure DevOps server repos to GitHub Enterprise repos. When will these new integration features be available in Azure DevOps Server (self-hosted) version?

    Thanks
    Steven

    • Dan HellemMicrosoft employeeAuthor · Edited

      Typically, we need to let the features bake in the service for several months before we make them available in the server product. Just because it is a lot easier to fix bugs on the service, than on-prem. But the good news is, all of these features will eventually make it into Azure DevOps Server.

'; block.insertAdjacentElement('beforebegin', codeheader); let button = codeheader.querySelector('.copy-button'); button.addEventListener("click", async () => { let blockToCopy = block; await copyCode(blockToCopy, button); }); } }); async function copyCode(blockToCopy, button) { let code = blockToCopy.querySelector("code"); let text = ''; if (code) { text = code.innerText; } else { text = blockToCopy.innerText; } try { await navigator.clipboard.writeText(text); } catch (err) { console.error('Failed to copy:', err); } button.innerText = "Copied"; setTimeout(() => { button.innerHTML = '' + svgCodeIcon + ' Copy'; }, 1400); }

Feedback