Lab: route GitHub and Azure DevOps notifications to Teams
Outcome
Install the supported GitHub and Azure DevOps apps in a non-production Teams channel, route only the events the channel owns, prove one notification from each platform, mute a noisy subscription, and remove the training integrations. A notification is a collaboration signal, not evidence that a deployment succeeded or an incident was resolved.
Before you begin
Use a disposable Teams channel, GitHub repository, and Azure DevOps project. Confirm you can install Teams apps and manage the relevant repository/project subscriptions. Choose an owner, escalation route, and a small event set before enabling anything. Do not use legacy Office 365 connectors for a new design: Microsoft documents their retirement and recommends supported apps or Workflows where applicable.
Do: GitHub in Teams
-
In Teams, install the GitHub app in the training workspace. In the training channel, run:
@GitHub Notifications signin @GitHub Notifications subscribe <owner>/<training-repository> issues,pulls,workflows @GitHub Notifications subscribe list features -
Create a training issue, open a pull request, and run a harmless GitHub Actions workflow. Record the resulting Teams thread, event type, repository, timestamp, and channel owner.
-
Decide which notifications the channel does not own. Remove one, for example workflow noise, without unsubscribing the whole repository:
@GitHub Notifications unsubscribe <owner>/<training-repository> workflows @GitHub Notifications subscribe list features -
Rerun the training workflow. Confirm that its notification no longer appears while an issue or pull-request notification still does. Restore the feature only if the stated owner needs it.
Do: Azure DevOps in Teams
- In the same or a separate training Teams channel, install the Azure DevOps app. Select the training organization and project, then add a Dashboard or Kanban board tab. Record the linked organization, project, and channel.
- Use the Azure Boards app to add a narrow subscription for one event, such as a work item created in a specific area path. In the channel, use the app’s Add subscription flow or
@azure boards subscriptions; document its event and filters. - Create a training work item that matches the filter. Verify that Teams receives the expected card. Then create one outside the area path and verify that it does not notify the channel.
- If you need pipeline or repository events, install the supported Azure Pipelines or Azure Repos Teams app and subscribe only to the training build, approval, or pull-request event. Record the subscription owner and delivery boundary.
Verify
Capture each app’s installation/scope, its complete subscription list, one expected GitHub notification, one expected Azure DevOps notification, one deliberately absent notification, and the named channel owner. You should now understand: a GitHub subscription is repository/event scoped; an Azure DevOps subscription is project/event/filter scoped; a Teams channel should receive actionable signals, not every platform event.
Break and fix
- Subscribe the GitHub channel to all default repository events, then observe the excess volume during the training exercise. Remove unowned features individually and record the final list.
- Configure an Azure Boards subscription with the wrong area path. Create the intended work item, confirm that it does not notify, correct the filter, and retest. Do not add a global subscription merely to hide the configuration error.
- Remove the training channel’s app access or sign out the GitHub integration. Trigger an event, inspect the missing-delivery/authentication state, restore only the required app authorization, and retest.
Scenario practice
- Configure: A release channel needs deployment approval and failed-build notifications but not every commit. Which Azure DevOps app/subscriptions and owners do you choose?
- Diagnose: A GitHub pull request card arrives but workflow events do not. Which subscription feature, workflow event, channel scope, and app authorization do you inspect?
- Distinguish: Contrast a Teams app subscription, an Azure DevOps project notification, a service-hook connector, and a Workflows automation. Which one is appropriate for a new Teams notification design after connector retirement?
Clean up
Unsubscribe the GitHub repository and Azure Boards/Pipelines/Repos events, remove the Azure DevOps tab and apps from the training channel, sign out the GitHub app, then delete the disposable repository/project/channel if they serve no other lab. Confirm no production channel remains subscribed to training events.
Sources and re-audit
- Azure DevOps integration with Microsoft Teams, checked 2026-08-22.
- Use Azure Boards in Teams, checked 2026-08-22.
- Integrate GitHub with Teams, checked 2026-08-22.
- Customize GitHub Teams notifications, checked 2026-08-22.
Re-audit when Teams app permissions, notification commands, Azure DevOps subscriptions, or connector-retirement guidance changes.
Related
Webhooks · DevOps collaboration integration · GitHub · Azure Boards · Process path · All labs