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

About the Kore.ai Bot for CircleCI

DIYCircleCILogo CircleCI is a continuous integration and deployment platform that lets you quickly and securely build, test, and deploy your applications.

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.

Configuring CircleCI 

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

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

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

Configuring Webhook

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

  1. Log on to CircleCI, and then click the Settings DIYSettingsIcon icon located to the immediate right of your repository.
  2. On the Project Settings navigation pane, in the Notifications section, click Webhook Notifications. The Webhooks page is displayed.
  3. Click the circle.yml file link
  4. In the root folder of your repository, create or add the following code in the circle.yml file:

notify: webhooks: # A list of hashes representing hooks. Only the url field is supported. - url: https://Yourcompany.kore.com/hooks/c6089802f36250c179dcb1aa29afd24c

where the – url: property is the Kore.ai webhook URL for the alert.

5. Save and publish the repository.

Note: By default, all events for this Bot generate Kore.ai alert messages. To reduce the number of notifications, this Bot may have filters that can be defined when you set up the alert in your Kore.ai account.

Sample circle.yml file

The following code is a sample circle.yml file that includes the notify section at the bottom for Kore.ai alert configuration. For more information, see the Notifications section in Configuring CircleCI in the CircleCI documentation.
The sections in your circle.yml file depend on your requirements.

## Customize the test machine
machine:
  timezone:
    America/Los_Angeles # Set the timezone
  # Version of ruby to use
  ruby:
    version:
      1.8.7-p358-falcon-perf
  # Override /etc/hosts
  hosts:
    circlehost: 127.0.0.1
    dev.mycompany.com: 127.0.0.1
  # Add some environment variables
  environment:
    CIRCLE_ENV: test
    DATABASE_URL: postgres://ubuntu:@127.0.0.1:5432/circle_test
## Customize checkout
checkout:
  post:
    - git submodule sync
    - git submodule update --init # use submodules
## Customize dependencies
dependencies:
  pre:
    - npm install coffeescript # install from a different package manager
    - gem uninstall bundler # use a custom version of bundler
    - gem install bundler --pre
  override:
    - bundle install: # note ':' here
        timeout: 180 # fail if command has no output for 3 minutes
  # we automatically cache and restore many dependencies between
  # builds. If you need to, you can add custom paths to cache:
  cache_directories:
    - "custom_1"   # relative to the build directory
    - "~/custom_2" # relative to the user's home directory
## Customize database setup
database:
  override:
    # replace CircleCI's generated database.yml
    - cp config/database.yml.ci config/database.yml
    - bundle exec rake db:create db:schema:load
## Customize test commands
test:
  override:
    - phpunit test/unit-tests # use PHPunit for testing
  post:
    - bundle exec rake jasmine:ci: # add an extra test type
        environment:
          RAILS_ENV: test
          RACK_ENV: test
## Customize deployment commands
deployment:
  staging:
    branch: master
    heroku:
      appname: foo-bar-123
## Custom notifications
notify:
  webhooks:
    # A list of hashes representing hooks. Only the url field is supported.
    - url: https://company.kore.com/hooks/c6089802f36250c179dcb1aa29afd24c

You can setup message notifications to your Kore.ai account using a CircleCI webhook. Click , click Get notified when…, click Build Updates via Webhook, and then 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 CircleCI Webhooks.
  • optionally customize the Task Name 
  • optionally customize the Short Description
  • enable or disable Mute task notifications.

Next Steps

After the webhook is configured in CircleCI, when any of the events occur in CircleCI, a message is displayed on the Bots tab in the Messages section for the Kore.ai account.