Kore.ai provides integration for a built-in Github Bot that you can use to display message notifications and execute tasks directly from you choice of messaging channels. To use the Github Bot, you just need to add the Bot to your channel, and then configure the settings for the Bot, such as authentication to access Github, and the notification messages that you want. For more information about other Kore.ai Bots, see Adding Bots.

About the Kore.ai Bot for Github

DIYGithubLogoGithub is a web-based Git repository hosting service with distributed revision control and source code management functionality of Git and Github proprietary features. You can use this Bot to manage repositories, create pull requests, and manage issues and alerts when updates are available.

Integration Type Webhook – Connect to this Bot using a webhook integration where the web application pushes message notifications in near real time.
Category Developer Tools – This Bot is available in the Kore.ai application in the Developer Tools category.
Channels Kore.ai – This Bot is available in the Kore.ai Messenger application.
Email – This Bot is available using an email client.
Spark – This Bot is available in the Cisco Spark messaging application.
Slack – This Bot is available in the Slack messaging application.
Skype – This Bot is available in the Skype messaging application.

Configuring Github

To configure a Github webhook for Kore.ai, you must have a Github account with administrator access as well as API access to configure a webhook. If you don’t, you’ll need to contact the Github system administrator for your company. For more information, see the User Accounts in the Github documentation.
To get started configuring the webhook in Github, you’ll need two things:

  1. The Kore.ai webhook URL provided when you set up an alert in your messaging channel for each alert that you want to enable in Github.
  2. A valid Username and Password for an account with Github API access.

The webhook URL is account-specific and cannot be transferred to any other account. This means that if you configure a Github webhook using a test account, you will have to recreate the alert and get a new webhook URL to configure in Github. The following URL is an example webhook URL.
https://company.kore.com/hooks/c6089802f36250c179dcb1aa29afd24c

Configuring Webhook

This procedure describes the steps in Github to configure a webhook using a Kore.ai webhook URL endpoint.

  1. Log on to Github, select the repository that you want to integrate with, and then on the left navigation menu, click Settings.
  2. On the Settings page, in the Options section, click Webhooks & Services. The Webhooks dialog is displayed.
  3. Click Add Webhook. The Add Webhook dialog is displayed.
  4. In the Payload URL field, enter the Kore.ai webhook URL for the alert.
  5. In the Content type field, select application/json in the drop-down list.
  6. In the Which events would like to trigger this webhook? section, select one or more events that will generate an alert message in your Kore.ai account.

    Tip: Select Let me select individual events to display a full list of events that you can select from.

  7. Ensure Active is selected.
  8. Click Add webhook to save the webhook configuration in Github.

For more information, see Creating Webhooks in the Github documentation.
After you are connected, you can perform tasks for Github directly from your messaging channel and setup message notifications to get notified in your channel when an event occurs in Github.
The following table describes Github tasks that you can integrate in your messaging channel.

TASK TO CONFIGURE THIS TASK…
Comment on Issue In the Perform Task dialog,

  • select a Repository
  • search an Issue to make a comment on
  • enter a Comment
  • and then click Submit.

In a team room, you can enter the @github comment Bot command to invoke and configure this task.

Create Issue In the Perform Task dialog,

  • select a Repository
  • enter an Issue Title
  • optionally enter a Issue Details
  • optionally select an Assignee
  • optionally select a Milestone
  • and then click Submit.

In a team room, you can enter the @github createissue Bot command to invoke and configure this task.

Create Pull Request In the Perform Task dialog,

  • select a Repository
  • select a Base branch
  • select a Compare branch
  • enter a Title 
  • optionally enter a Description
  • and then click Submit.

In a team room, you can enter the @github createpullreq Bot command to invoke and configure this task.

You can setup message notifications to your Kore.ai account using a Github webhook. Click , click Get notified when…, and then click one of the Github web services described in the following table.

TASK TO CONFIGURE THIS TASK…
GitHub Alerts Via Web Hook In the Setup Task dialog,

  • click the Activate button to generate a Webhook URL.
  • copy and save the URL, or click Email Instructions to send the URL to an email account. For more information, see Configuring Github Webhooks.
  • optionally, click the gray box in Filters to setup one or more filters to prevent message notifications for specified criteria. You can filter on the following:
    • Github event filter
    • Click Done to save the filter.
  • optionally customize the Task Name 
  • optionally customize the Short Description
  • enable or disable Mute task notifications
  • optionally customize the interval for message notifications in the Check for updates… section
  • and then click Finish.
Commit Alert In the Setup Task dialog,

  • select a Repository
  • optionally customize the Task Name
  • optionally customize the Short Description
  • enable or disable Mute task notifications
  • optionally customize the interval for message notifications in the Check for updates… section
  • and then click Finish.
Issue Created In the Setup Task dialog,

  • select a Repository 
  • optionally customize the Task Name
  • optionally customize the Short Description
  • enable or disable Mute task notifications
  • optionally customize the interval for message notifications in the Check for updates… section
  • and then click Finish.
Pull Request Notification In the Setup Task dialog,

  • select a Repository  
  • optionally customize the Task Name
  • optionally customize the Short Description
  • enable or disable Mute task notifications
  • optionally customize the interval for message notifications in the Check for updates… section
  • and then click Finish.

Next Steps

After the webhook is configured in Github, when any of the events occur in Github, a message is displayed on the Bots page in Kore.ai Messenger or your messaging channel.