Integrate GitHub and Azure DevOps with Microsoft Teams

Completed

Microsoft Teams serves as a central hub for team communication and collaboration. Integrating GitHub and Azure DevOps with Teams brings development activity, work tracking, and pipeline notifications directly into team conversations—reducing context switching and keeping everyone informed in real-time.

Why integrate DevOps tools with Teams

Reduce context switching: Developers stay in Teams for communication while receiving updates about code, builds, and deployments without switching to separate tools.

Increase visibility: Entire team sees relevant activities—pull requests, work item updates, pipeline results—fostering shared awareness and accountability.

Accelerate responses: Team members can discuss issues, approve deployments, and make decisions directly in Teams channels without delays from tool navigation.

Improve collaboration: Threaded conversations around notifications provide context and discussion history, helping teams understand and resolve issues together.

Enable mobile access: Teams mobile apps keep developers connected to critical events even when away from their workstations.

Common integration scenarios

Code review discussions: Pull request notifications appear in Teams channels where developers discuss changes, request reviews, and provide feedback.

Work tracking updates: Work item status changes notify teams about feature progress, bug fixes, and backlog changes.

Build and deployment alerts: Pipeline successes and failures trigger immediate notifications, enabling quick response to broken builds or deployment issues.

Incident response: Failed deployments and production issues generate alerts in Teams channels where teams coordinate troubleshooting and resolution.

Approval workflows: Deployment gates send approval requests to Teams where authorized team members can approve or reject releases.

The integration between DevOps platforms and Teams is bidirectional—teams receive notifications about DevOps events and can take actions (create issues, approve deployments, search information) directly from Teams without leaving conversations.

Integrating GitHub with Microsoft Teams

The GitHub app for Microsoft Teams allows seamless integration between the two platforms, enabling users to receive notifications and interact with GitHub directly from Teams.

You can install the GitHub app for Microsoft Teams from the Teams app store or directly from GitHub by navigating to the https://teams.github.com web page. Following a successful installation, a welcome message will prompt you to use the @github handle to interact with the app. To start, link to your GitHub accounts by entering @github signin, which will trigger the GitHub authentication process.

To subscribe to notifications for pull requests and issues in an organization or repository, use the @github subscribe <organization>/<repository> command. Notifications can be customized by subscribing to specific features using @github subscribe owner/repo [feature] and unsubscribing from less relevant activities using @github unsubscribe owner/repo [feature]. Default features include issues, pull requests, commits, comments, deployments, and releases. It's possible to selectively enable or disable other features, such as reviews, workflows, branches, and discussions.

To further scope notifications, use filtering. Branch filters allow limiting commit notifications to specific branches or patterns of branches. Label filters limit incoming events based on allowlisted labels, such as priority or specific team labels.

You can also organize notifications by using pull request and issue notification cards and threading. Notifications for pull requests and issues are grouped under parent cards as replies, displaying relevant metadata and providing threading for improved collaboration.

Teams conversations frequently result in actionable takeaways and drive decision making. The integration facilitates these activities by supporting issue creation and management. You can create issues with a single click from Teams, accessing the Create an Issue option in the message options menu. The issue creation dialogue automatically populates with message content, allowing selection of labels, assignees, and milestones, and confirming issue creation with a notification card. You can also perform various actions on issues and pull requests, such as closing, reopening, and commenting directly from Teams.

Another integration area targets actions workflow notifications. This allows you to subscribe to GitHub Actions workflow run notifications, with tracking workflow status and approvals available directly from Teams. Notifications provide updates on workflow progress, including job status and completion, with options to rerun workflows and enable debug logs. By default, the focus is on workflows triggered via pull requests on the default branch, but you have the option to customize filtering criteria based on name, event, actor, and branch.

Separate notifications are available for deployments, with users mentioned in notifications requiring attention. Mentions work when logged into GitHub app from Teams, mapping GitHub ID with Teams ID to ensure notifications reach the intended recipients.

GitHub links shared in Microsoft Teams channels automatically display previews with details such as pull requests, issues, discussions, comments, code snippets, repositories, and accounts. Similarly, discussions and their comments can be unfurled automatically in Teams, providing a preview of the discussion content.

You can configure reminders for pending pull requests either in Teams channels or their personal chats. Configuration options include selecting days, times, time zones, teams, repositories, and advanced settings such as ignoring drafts, requiring review requests, and setting minimum age/staleness for pull requests.

Integrating Azure DevOps with Microsoft Teams

The integration between Azure DevOps with Microsoft Teams offers a convenient collaboration experience across three key areas: Boards, Repos, and Pipelines. With the Microsoft Teams GitHub app, you can manage your projects' progress with Boards, track code changes and collaborate on Repos, and streamline CI/CD workflows with Pipelines, all within the Microsoft Teams environment. This comprehensive integration enhances productivity and communication by providing a unified interface for project management and development activities.

Azure Boards integration

The Azure Boards app for Microsoft Teams streamlines project management by allowing users to create, monitor, and collaborate on work items directly within their Teams channel.

In order to use the Azure Boards app, ensure that you have at minimum the Contributors privileges in the Azure Boards project and that the app access via OAuth for the Azure DevOps organization is enabled. Once these prerequisites are satisfied, you can add the Azure Boards app to your Teams channel by accessing the App store in Microsoft Teams, installing the app, and using the @azure boards handle to interact with it.

To take advantage of the app's features, link your Azure Boards project to your Teams channel. This involves connecting and authenticating with Azure Boards and using the @azure boards link command in the Teams channel. To unlink using a project from a channel, use the @azure boards unlink command. Next, create subscriptions to monitor work items using the @azure boards subscriptions command. They can select specific area paths and events they're interested in and customize their notifications accordingly. Notifications within the Teams channel are threaded to logically link and reduce related notifications, providing a more organized communication experience.

You can add area paths from your projects to the channel to facilitate work item creation and subscriptions, especially for projects with numerous area paths. To create work items, use either the @azure boards create command or message actions within the Teams channel, which streamlines the process of converting discussions into actionable tasks. The app supports compose extension, allowing you to search for and share work items directly within Teams. You can preview work item URLs shared within the channel.

You can also configure Azure DevOps Services tabs in Microsoft Teams to bring Kanban boards or dashboards directly into your channel. This enhances visibility and accessibility of project-related information.

Azure Repos integration

The Azure Repos app for Microsoft Teams facilitates monitoring of repositories for users of Microsoft Teams and Azure Repos. This integration simplifies repository management and enhances collaboration among team members.

As with the Azure Boards app, before using the app, ensure they have the necessary permissions at the repository level and that the app access via OAuth for the Azure DevOps organization is enabled. Once these prerequisites are satisfied, you can add the Azure Repos app to your Teams channel by accessing the App store in Microsoft Teams, installing the app, and using the @azure repos handle to interact with it.

After installing the app, connect it to your repos by using the @azure repos signin command and specifying the project or repo URL, enabling monitoring of code changes and pull requests. To manage subscriptions to repo-related events, use commands such as @azure repos subscribe and @azure repos subscriptions, allowing customization of notifications based on specific conditions and filters. To remove subscriptions related to repositories, use the @azure repos unsubscribe all [project url] command.

The Azure Repos app supports a compose extension, which supports searching for and sharing pull request information within Microsoft Teams. You can preview pull request URLs shared within the channel. This feature enhances visibility and understanding of pull request-related conversations.

As with the Azure Boards app, notifications within the channel are threaded to logically link related notifications and reduce clutter. This provides a more organized communication experience and enhances visibility of pull request-related discussions.

Azure Pipelines integration

The Azure Pipelines app for Microsoft Teams simplifies pipeline monitoring and management, providing notifications and pipeline management capabilities directly within Teams channels. This integration streamlines the pipeline monitoring process and facilitates efficient collaboration.

As with the other two Azure DevOps related Microsoft Teams apps, before using this one, ensure they have the necessary permissions at the level of the project hosting the pipelines and that the app access via OAuth for the Azure DevOps organization is enabled. Once these prerequisites are satisfied, you can add the Azure Repos app to your Teams channel by accessing the App store in Microsoft Teams, installing the app, and using the @azure pipelines handle to interact with it.

After installing the app, connect it to your pipelines by using the @azure pipelines signin command. Next, use the @azure pipelines subscribe command to subscribe either to individual or all pipelines in a project. You can customize pipeline subscriptions to receive notifications for specific events, such as failed builds or deployments to production environments. The Azure Pipelines app supports filters to tailor notifications according to your preferences.

The app supports approving deployments directly from their Teams channel without accessing the Azure Pipelines portal. Notifications with options to approve or reject deployment requests are posted in the channel, facilitating quick decision-making, and enhancing workflow efficiency. Notifications linked to a particular run of a pipeline are logically linked together, providing a clear overview of pipeline activities, and facilitating organized communication within the channel.

The Azure Pipelines app also includes a compose extension, allowing you to search for and share pipeline information directly within Microsoft Teams. When pipeline URLs are shared in Teams, you can preview them to monitor updates on pipeline-related conversations. These previews help keep discussions relevant and provide quick access to pipeline details.

Best practices for Teams integration

Effective integration requires thoughtful configuration to maximize value while avoiding notification overload.

Start with focused subscriptions:

  • Begin with notifications for critical events (failed builds, production deployments, high-priority work items)
  • Add more subscriptions gradually based on team needs
  • Avoid subscribing to everything—information overload reduces notification effectiveness

Use filters strategically:

  • Filter by branch (main/production branches only for some notifications)
  • Filter by severity or priority (critical bugs only)
  • Filter by area path or team (relevant work items only)
  • Use label filters to focus on specific feature areas

Organize with dedicated channels:

  • Create separate Teams channels for different notification types (builds, deployments, reviews)
  • Use channel naming conventions (e.g., "project-builds", "project-releases")
  • Keep social conversations separate from automated notifications

Configure threading appropriately:

  • Enable threaded notifications to group related events
  • Use threading for pull request discussions to keep conversations organized
  • Threading reduces channel clutter while maintaining context

Establish team conventions:

  • Define response expectations for different notification types
  • Document which notifications require immediate attention vs. informational
  • Create runbooks for common scenarios (failed deployment response, critical bug triage)
  • Use @mentions judiciously to direct attention when needed

Review and adjust regularly:

  • Gather team feedback on notification usefulness
  • Remove subscriptions that don't drive action
  • Adjust filters as priorities change
  • Monitor for alert fatigue and reduce noise

Security considerations:

  • Review channel membership before adding sensitive notifications
  • Use private channels for confidential project information
  • Configure permissions appropriately in DevOps tools
  • Audit app access and OAuth tokens periodically

Integration selection guide:

Use GitHub + Teams when:

  • Primary development happens on GitHub
  • Need pull request and issue notifications
  • Want GitHub Actions workflow tracking
  • Team uses GitHub Projects for planning

Use Azure DevOps + Teams when:

  • Using Azure Boards for work tracking
  • Azure Repos hosts code repositories
  • Azure Pipelines manages CI/CD
  • Need comprehensive DevOps platform integration

Use both when:

  • Organization uses both GitHub and Azure DevOps
  • Different projects use different platforms
  • Migrating between platforms
  • Need cross-platform visibility

By integrating DevOps tools with Microsoft Teams, teams create unified communication environments where development activities, work tracking, and deployments remain visible and actionable without constant tool switching.