Using Zoom’s GitHub Enterprise chatbot integration

This post was most recently updated on July 28th, 2022

With Zoom’s GitHub Enterprise integration, you will be notified when something changes in your GitHub Enterprise repository by a Zoom chat notification and a message from an automated chatbot using the Zoom chat application. Intended for the use of private servers running GitHub Enterprise, this integration can be found here.

Prerequisites for GitHub Enterprise

  • An enterprise account on GitHub
  • Must be pre-approved by Zoom App Marketplace before the GitHub Enterprise chatbot will be released
    Note: Please contact your Zoom administrator if the app has not been pre-approved.

How to install and configure GitHub Enterprise

Install from the Zoom App Marketplace

  1. Log in as the administrator of your account to the Zoom App Marketplace.
  2. Search for GitHub Enterprise in the search box at the top right of your screen to find the app.
  3. Once you find GitHub Enterprise in the search results, click on it to open it.
  4. Note: To approve this app for your Zoom account if it is not already pre-approved, you will need to contact your Zoom admin.
  5. Click the Add button.
  6. Make sure the app has the permissions it needs, then click Allow.
    Note: When your admin installs the GitHub Enterprise chatbot in the Zoom client on your behalf, the app will automatically be added to your client in GitHub Enterprise.

Configure the GitHub Enterprise subscription

During the installation process of the app from the Marketplace, you will be redirected to a page where you can add your GitHub Enterprise subscription.

  1. During the process, you require access to your GitHub Enterprise account.
    If you wish to utilize your private server, you will need to obtain a Client ID and Client Secret from your account by logging into your server.
  2. Please see the next section to learn how to do this.
  3. You will go to Settings, and from there, you will click Developer Settings – OAuth Apps.
    If you wish to allow Zoom to access your repositories, you will need to add a new OAuth app to your account.
  4. In the Application Name field, enter Zoom and use the following credentials:
    • Homepage URL: https://applications.zoom.us/github/home
    • Redirect URI: https://applications.zoom.us/addon/v2/githube/authorization
  5. Make a note of the Client ID and Client Secret so that you can reference them later.
  6. Go back to the Zoom page that you were directed to to configure GitHub Enterprise.
  7. Type in your Client ID, Client Secret, and Server Domain.
  8. Make sure you save your configuration.
    Once you have saved, you will be redirected to your GitHub Enterprise account for your private server.
  9. Click on the Authorize button.
    You will now be able to use Zoom with your GitHub Enterprise account.

How to use the GitHub Enterprise Chatbot

Add a subscription

Note: In order to add a subscription, it is necessary that you are an administrator of the GitHub Enterprise repository.

Once you have configured your GitHub Enterprise account, you need to add a subscription to the GitHub Enterprise repository:

  1. Please use the Zoom Chat channel of your choice, then enter the command /githube connect.
    Within moments, the GitHub Enterprise chatbot will send you a direct message. To authenticate, click on the link it sends you.
  2. Once authenticated, you will be able to use the following commands to configure your repositories:
    • Connect <owner>: This will connect all repositories that belong to the owner.
    • Connect <owner or repository>: This will connect a single repository.
    • Connect <owner/repositroy_1,owner/repository_2>: You can connect multiple repositories at the same time.
    • Connect <owner/repository:master>: This will connect a branch with the repository.
  3. You will need to access the configuration page by clicking the link provided here:
    • Name: This is the name of the configuration.
    • Channel: This is the channel where you would like to receive notifications.
    • Projects: If you want to be notified about any particular projects, please select the option.
    • Events: Select whether you want to receive notifications for commits, issues, or pull requests. As of right now, these notifications are supported:
      • Whenever a commit is pushed to a repository
      •  A new comment is added
      • And the pull request is opened or closed
      • With a status of Opened/Closed
      • Creation/edited/deletion of issue comments
  4. By clicking on Save Configuration.
    From now on, you will be receiving notifications based on the settings you have chosen.

Interact with the GitHub Enterprise Chatbot

Using a subscription in Zoom will enable you to receive notifications about chat conversations in the Zoom chat channel that you have configured.

Available commands

Help command

There is a list of commands that can be found by typing help.

Connect command

If you want to connect your GitHub Enterprise repository or branch, you will have to type connect.

By adding the subscribe command, you will add a subscription to whatever channel you have been directed to. You must connect your GitHub Enterprise account before you can associate your repositories with it.

The first time you connect to the Internet, you will receive a message containing more information on the correct syntax.

Connecting both a repository and a branch will only include the repository and leave out the branches. You do not have an option to connect this repository or other branches of this repository under the same channel if you have already connected the branches of one repository.

Comment command

You can add comments to an issue by typing a comment. It is recommended that you use the syntax comment <repository> <issue_id> [Shift+Enter] <comment>

The following steps must be taken:

  1. You must enter the full name of the repository and the issue ID.
  2. To add a line to the text, press Shift + Enter.
  3. Write a comment here.

Disconnect command

You can use the disconnect command to disconnect your GitHub Enterprise account.

Please note that this command only disconnects connections of the owner in the current channel. For example, you can’t use disconnect owner/branch to disconnect owner/repository:branch, for instance. You have to use exactly the same name as that of the repository or branch to disconnect it.

How to remove the GitHub Enterprise Chatbot

  1. With your Zoom account, sign in to the Zoom App Marketplace.
  2. Once on the page, click Manage at the top right-hand corner of the page.
  3. Next, click on Added Apps from the left menu.
  4. Click Remove next to GitHub Enterprise from the list that appears.
  5. You will be prompted to confirm the action.

Data security

  • Using this app, you will be able to access the following Zoom information:
    • Using your Zoom account, you can view all of the groups that a Zoom user is a member of.
    • In your Zoom account, you can view the details of existing meetings for a Zoom user.
    • In the Zoom account, you can view the information regarding a Zoom user.
  • In order to access Github, the application must have access to the following information:
    • Information about your tickets, agents, and customers.
      • Customer and agent information will be read-only on our side.
      • The only time we use a write permission is closing a ticket.
  • Here is a list of the permissions that the Zoom Chat App has:
    • A chat message can be sent through this app to an IM channel or a user under your Zoom account who is a member of the channel.
    • This chat app can be used to create a Zoom meeting on behalf of any Zoom user whose account is linked to the chat app.
  • It ensures that all communication is encrypted between this chat app and Zoom/Github:
    • Protocol: TLS 1.2
    • Cipher suite: ECDHE-ECDSA-AES128-GCM-SHA256
    • Key length: 128 bits
    • Perfect Forward secrecy: YES
  • Credentials are stored locally in this chat app in the following ways:
    • Admin-level API tokens for Github and Zoom OAuth credentials are backed up (encrypted) to a database using an SSL certificate.