Skip to main content

Integrating GitHub with Teams

Set up the GitHub integration with Teams to improve collaboration and streamline workflows.

About the GitHub integration for Teams

The GitHub integration for Microsoft Teams gives you and your teams visibility into your GitHub projects directly in Teams channels. You can triage issues, collaborate on pull requests, and keep track of changes without leaving Teams.

With the GitHub integration for Teams, you can:

  • Get GitHub notifications in Teams channels.
  • Use commands to take actions on GitHub.
  • See previews when sharing links to GitHub resources.

When you grant the GitHub app access to your Teams workspace, you are granting it certain permissions. The permissions provided are necessary for the app to function correctly and provide the features you expect. See Permissions for GitHub in Teams.

Prerequisites

To use the GitHub integration for Teams, you need:

  • A GitHub account.
  • A Teams workspace where you have permission to install apps.

Installing the GitHub integration for Teams on GitHub Enterprise Server

To integrate GitHub Enterprise Server with Microsoft Teams, you first need to configure the chat integration on your instance and register an app in Microsoft Azure.

Register the app and provision the Teams bot

  1. In the Management Console for your GitHub Enterprise Server instance, open the Chat integration page and select the Enable GitHub Chat integration checkbox.
  2. Under "Select chat client", select Microsoft Teams, and follow the link to register an app in Microsoft Azure.
  3. In Azure, configure the details for your app registration:
    • Enter your application registration Name.
    • Set the supported account types to Multiple Entra ID tenants and Allow all tenants.
  4. Click Register.
  5. Record the application (client) ID and tenant ID displayed.
  6. Under Certificates & secrets, create a new client secret.
  7. Record the client secret value displayed.
  8. Return to the Management Console and Chat integration page on your GitHub Enterprise Server instance.
  9. Click Deploy to Azure, and follow the prompts to provision the Teams bot in Microsoft Azure.
  10. In Azure, select the Subscription and Resource group for the Azure bot to be deployed.
  11. Enter the application (client) ID and tenant ID you recorded earlier, in the Teams bot configuration.
  12. Depending on your network configuration for GitHub Enterprise Server:
    • If your instance is reachable on the public internet, select the Append '_msteams' to path checkbox.
    • If your instance is not reachable on the public internet and requires a proxy:
      • Ensure the Append '_msteams' to path checkbox isn't selected.
      • In the GHES Instance Host Name field, enter the URL that will forward the traffic to your instance.
  13. Click the Review + create tab, and then click Create to save the settings and begin provisioning the app.
  14. Wait for the Teams bot to be provisioned in Azure.

Configure GitHub Enterprise Server and install the app in Teams

  1. Return to the Management Console and Chat integration page on your GitHub Enterprise Server instance.
  2. Enter the Microsoft client ID, Microsoft client secret, and Microsoft tenant ID using the application details you recorded earlier.
  3. Optionally, if your GitHub Enterprise Server instance is not reachable on the public internet and requires a proxy, enter the URL that will forward the traffic to your instance in the Public Endpoint URL field.
  4. Click Save client settings.
  5. Click Generate manifest to download the integration manifest for later use.
  6. Click Save settings to apply the changes to your instance.
  7. Log in to your Teams client, and open the Teams admin center.
  8. Go to Teams apps > Manage apps, and click Upload to upload the integration manifest you downloaded in a previous step. For more information, see Upload your app to Teams.
  9. Install your app in Teams, and run @GHE signin to connect your GitHub account.

Further reading