{"id":69807,"date":"2024-11-19T06:13:01","date_gmt":"2024-11-19T14:13:01","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/devops\/?p=69807"},"modified":"2024-12-06T08:14:12","modified_gmt":"2024-12-06T16:14:12","slug":"getting-the-most-out-of-azure-devops-and-github","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/devops\/getting-the-most-out-of-azure-devops-and-github\/","title":{"rendered":"Getting the most out of Azure DevOps and GitHub"},"content":{"rendered":"<p>Microsoft has two very successful DevSecOps products in the market \u2013 <a href=\"https:\/\/github.com\/home\"><\/a><a href=\"https:\/\/github.com\/home\" rel=\"noopener\" target=\"_blank\">GitHub<\/a> and <a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/devops\/\"><\/a><a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/devops\/\" rel=\"noopener\" target=\"_blank\">Azure DevOps<\/a>. Azure DevOps has a large enterprise customer base that loves the highly customizable enterprise-focused planning and tracking capabilities in Azure Boards, the robust continuous delivery capabilities in Azure Pipelines, the manual and exploratory testing capabilities in Azure Test Plans, and the deep integrations across the suite. GitHub is the world\u2019s largest developer community, with over 100M developers. It also serves over 4M organizations, including 90% of the Fortune 100. It\u2019s beloved by developers and at the forefront of innovation with features like <a href=\"https:\/\/github.com\/features\/copilot\" rel=\"noopener\" target=\"_blank\">GitHub Copilot<\/a>, which is transforming every aspect of the software development process.<\/p>\n<p>Many Azure DevOps customers have been looking at the innovations coming out of GitHub and wondering how they can realize the benefits of those innovations while still using the capabilities they love in Azure DevOps. In the rest of this post, we\u2019ll answer that question by looking at work we\u2019ve been doing across Microsoft and GitHub to enable customers to acquire and use Azure DevOps and GitHub <em>together<\/em> to get the best of both worlds.<\/p>\n<h2>GitHub innovation available to all Azure DevOps customers<\/h2>\n<p>At last year\u2019s Build conference, we announced <a href=\"https:\/\/devblogs.microsoft.com\/devops\/github-advanced-security-for-azure-devops-public-preview-starts-now\/\">GitHub Advanced Security for Azure DevOps<\/a> (GHAzDO), which\u00a0integrates the core capabilities of GitHub Advanced Security \u2013 secret scanning, code scanning, and dependency vulnerability scanning \u2013 directly into Azure DevOps. Since then, we\u2019ve delivered a steady stream of improvements to GHAzDO, including (most recently) pull request annotations that highlight new code security and dependency vulnerabilities right in the Azure Repos pull request experience. In the coming months, our ongoing investments in GHAzDO will include secret validity (or \u201cliveness\u201d) checking, support for Dependabot auto-updates of dependency vulnerabilities, and more.<\/p>\n<p><figure id=\"attachment_17988\" aria-labelledby=\"figcaption_attachment_17988\" class=\"wp-caption alignleft\" ><img decoding=\"async\" class=\"size-full wp-image-17988\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/pr-annotation-detail.png\" alt=\"Image pr annotation detail\" width=\"1343\" height=\"853\" \/><figcaption id=\"figcaption_attachment_17988\" class=\"wp-caption-text\">GitHub Advanced Security for Azure DevOps pull request annotations<\/figcaption><\/figure><\/p>\n<p>Azure DevOps customers can similarly benefit from many of the key capabilities of GitHub Copilot for Business without making any other changes to their Azure DevOps usage. GitHub Copilot features like code completions, chat, extensions, and more are available directly in Visual Studio or Visual Studio Code. And <a href=\"https:\/\/docs.github.com\/en\/enterprise-cloud@latest\/admin\/copilot-business-only\/about-enterprise-accounts-for-copilot-business\">Enterprise accounts<\/a> can be used to manage GitHub Copilot licenses without any other GitHub Enterprise usage.<\/p>\n<p><figure id=\"attachment_17971\" aria-labelledby=\"figcaption_attachment_17971\" class=\"wp-caption alignleft\" ><img decoding=\"async\" class=\"wp-image-17971 size-full\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/Copilot-edits-in-VS-Code.png\" alt=\"Image Copilot edits in VS Code\" width=\"780\" height=\"465\" \/><figcaption id=\"figcaption_attachment_17971\" class=\"wp-caption-text\">Copilot Edits in Visual Studio Code<\/figcaption><\/figure><\/p>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2> <\/h2>\n<h2>GitHub innovation available to Azure DevOps customers using GitHub repositories<\/h2>\n<p>Of course, additional innovative capabilities in both GitHub Copilot and GitHub Advanced Security are available to customers who have their code in GitHub repositories. To better enable this for Azure DevOps customers without compromising their overall experience, we\u2019ve been working hard across Microsoft and GitHub to improve the integrations between our two DevSecOps products. Our overarching goal is for the two products to feel like an integrated suite, with the same end-to-end traceability Azure DevOps customers have come to expect.<\/p>\n<p>In GitHub Copilot, many additional capabilities light up for customers whose code repositories are stored in GitHub, including codebase aware chat capabilities, pull request experiences like Copilot Workspace, and fine-tuned models.<\/p>\n<p>Similarly, <a href=\"https:\/\/github.com\/advanced-security\/\">GitHub Advanced Security<\/a> (GHAS) has many capabilities that <a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/devops\/github-advanced-security\">GitHub Advanced Security for Azure DevOps<\/a> (GHAzDO) lacks. And while we will continue to invest in closing gaps between GHAzDO and GHAS, GHAS will always run ahead of GHAzDO. Today, this includes Copilot autofix capabilities and the new security campaigns features.<\/p>\n<p><figure id=\"attachment_17990\" aria-labelledby=\"figcaption_attachment_17990\" class=\"wp-caption alignleft\" ><img decoding=\"async\" class=\"size-full wp-image-17990\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/Autofix1.gif\" alt=\"Image Autofix1\" width=\"1300\" height=\"858\" \/><figcaption id=\"figcaption_attachment_17990\" class=\"wp-caption-text\">Copilot autofix capabilities<\/figcaption><\/figure><\/p>\n<p>To take advantage of these capabilities in GitHub, Azure DevOps customers will need to migrate some or all their repositories to GitHub. To do this, we recommend:<\/p>\n<ul>\n<li>Setting up a GitHub Enterprise organization. As a best practice, we recommend <a href=\"https:\/\/docs.github.com\/en\/enterprise-cloud@latest\/admin\/managing-iam\/understanding-iam-for-enterprises\/about-enterprise-managed-users\">GitHub Enterprise Managed Users<\/a> using the same Microsoft Entra tenant used by your Azure DevOps organization. With this configuration, you can use Entra groups to manage access to both organizations in a consistent way.<\/li>\n<li>Migrating repositories using <a href=\"https:\/\/docs.github.com\/en\/migrations\/using-github-enterprise-importer\/migrating-from-azure-devops-to-github-enterprise-cloud\">GitHub Enterprise Importer<\/a>. Start slow, and make sure to do a trial run or two to prove things out.<\/li>\n<li>Installing the <a href=\"https:\/\/github.com\/apps\/azure-boards\">Azure Boards<\/a> and <a href=\"https:\/\/github.com\/apps\/azure-pipelines\">Azure Pipelines<\/a> apps into your GitHub organization.<\/li>\n<\/ul>\n<p>The Azure Boards app enables the same end-to-end traceability customers are used to when using all Azure DevOps \u2013 from <em>ideas<\/em> tracked in Boards all the way to <em>production environments<\/em> deployed by Azure Pipelines. And the Azure Pipelines app enables the same capabilities customers using Azure Repos are used to, including Pull Request triggers, Continuous Integration triggers, governed templates, and more.<\/p>\n<p>Many customers are already using these two apps to integrate Azure DevOps with GitHub. In October, customers:<\/p>\n<ul>\n<li>Created more than 800 thousand links between Azure Boards and GitHub repositories (up 67% from last year), with the largest single customer creating more than 60 thousand.<\/li>\n<li>Ran more than 32 million Azure Pipelines jobs that consumed GitHub repositories (up 42%), with the largest single customer running more than 2 million.<\/li>\n<\/ul>\n<p>Let\u2019s take a quick tour of the integrated experience!<\/p>\n<p>It all starts by creating an initial link between an idea tracked in Azure Boards and the code changes that will bring that idea to life. This can be done either through a rich Boards user experience:<\/p>\n<p>\u00a0<\/p>\n<p><figure id=\"attachment_17992\" aria-labelledby=\"figcaption_attachment_17992\" class=\"wp-caption alignleft\" ><img decoding=\"async\" class=\"size-full wp-image-17992\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/create-branch-1.gif\" alt=\"Image create branch 1\" width=\"1920\" height=\"1044\" \/><figcaption id=\"figcaption_attachment_17992\" class=\"wp-caption-text\">Create GitHub Branch from Azure Boards<\/figcaption><\/figure><\/p>\n<p>\u00a0<\/p>\n<p>Or by using AB# syntax in your commit message or PR description:<\/p>\n<p><div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-69807-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/boards-github-short-demo.mp4?_=1\" \/><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/boards-github-short-demo.mp4\">https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/boards-github-short-demo.mp4<\/a><\/video><\/div><\/p>\n<p>GitHub pull request link experience for Azure Boards<\/p>\n<p>Either way, you\u2019ll get Azure Boards work item links in the Development section of your GitHub pull request, just as you would if you were using GitHub Issues. And you\u2019ll see up-to-date status in your Azure Boards work item as your GitHub pull request gets updated.<\/p>\n<p>If you\u2019ve configured PR triggers for your pipeline, you\u2019ll see results show up right in the Checks experience within your pull request. And all the rich Azure Pipeline capabilities you expect will continue to be available, including governed templates, the <a href=\"https:\/\/devblogs.microsoft.com\/devops\/managed-devops-pools-ga\/\" target=\"_blank\" rel=\"noopener\">newly announced Managed DevOps Pools<\/a>, and more.<\/p>\n<p>We still have more planned work to further enhance the experience \u2013 see our <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devops\/release-notes\/features-timeline#improved-boards--github-integration\">public roadmap<\/a> for the latest information. And as more customers adopt this approach, we will continue to learn from them and further integrate our two products.<\/p>\n<h2>Licensing integration<\/h2>\n<p>For some time now, Visual Studio subscribers have had usage rights for both GitHub Enterprise and Azure DevOps. But other users have had to pay for both products to use them together \u2026 until now! We are excited to announce that starting in January, we are including Azure DevOps Basic usage rights with GitHub Enterprise licenses and automating the experience for Azure DevOps customers.<\/p>\n<p>Just as with Visual Studio subscriptions, we will automatically detect GitHub Enterprise Licenses for users when they log into Azure DevOps and grant them a new GitHub Enterprise access level (with access equivalent to Azure DevOps Basic).<\/p>\n<p><figure id=\"attachment_17993\" aria-labelledby=\"figcaption_attachment_17993\" class=\"wp-caption aligncenter\" ><img decoding=\"async\" class=\"size-full wp-image-17993\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/2024\/11\/license-integration.png\" alt=\"Image license integration\" width=\"1536\" height=\"935\" \/><figcaption id=\"figcaption_attachment_17993\" class=\"wp-caption-text\">License integration<\/figcaption><\/figure><\/p>\n<p>This capability will begin lighting up for GitHub Enterprise Cloud customers in January, and for GitHub Enterprise Cloud with Data Residency customers early in the new year.<\/p>\n<blockquote><p><strong>Update:<\/strong> Originally, this blog post called out December, 2024 for when the licensing integration work would light up for GitHub Enterprise Cloud customers. We now expect the integration to light up in January.<\/p><\/blockquote>\n<p>We are committed to enabling Azure DevOps customers to get the best out of both Azure DevOps and GitHub. We hope you\u2019ll try out the latest integrations and innovations and let us know what you think!<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft has two very successful DevSecOps products in the market \u2013 GitHub and Azure DevOps. Azure DevOps has a large enterprise customer base that loves the highly customizable enterprise-focused planning and tracking capabilities in Azure Boards, the robust continuous delivery capabilities in Azure Pipelines, the manual and exploratory testing capabilities in Azure Test Plans, and [&hellip;]<\/p>\n","protected":false},"author":181,"featured_media":69818,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[228,224,1],"tags":[7262,7294,7295],"class_list":["post-69807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-admin-licensing","category-azure","category-devops","tag-azure-devops","tag-github","tag-github-copilot"],"acf":[],"blog_post_summary":"<p>Microsoft has two very successful DevSecOps products in the market \u2013 GitHub and Azure DevOps. Azure DevOps has a large enterprise customer base that loves the highly customizable enterprise-focused planning and tracking capabilities in Azure Boards, the robust continuous delivery capabilities in Azure Pipelines, the manual and exploratory testing capabilities in Azure Test Plans, and [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/69807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/users\/181"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/comments?post=69807"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/posts\/69807\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media\/69818"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/media?parent=69807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/categories?post=69807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/devops\/wp-json\/wp\/v2\/tags?post=69807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}