Tokite Gem Version

Tokite send GitHub event (pull-request, issue and comment) to Slack.

Notification setting are personalized and customizable by query.

Installation

Tokite works as rails mountable engine.

Add this line to your rails application's Gemfile:

gem "tokite"

And mount engine.

Rails.application.routes.draw do
  mount Tokite::Engine => "/"
end

Setup database

$ ./bin/rails db:create
$ ./bin/rails app:tokite:ridgepole:install
$ ./bin/rails app:tokite:ridgepole:apply
$ RAILS_ENV=test ./bin/rails app:tokite:ridgepole:apply

Setup yarn pkg

$ ./bin/rails tokite:yarn:install

Configuration

GITHUB_CLIENT_IDGitHub OAuth2 client ID
GITHUB_CLIENT_SECRETGitHub OAuth2 client secret
GITHUB_HOST (optional)GitHub Enterprise host
SECRET_KEY_BASErails secret key
SLACK_WEBHOOK_URLSlack incoming webhook url
SLACK_NAME (optional)Slack notification user name
SLACK_ICON_EMOJI (optional)Slack notification icon
APP_HOST (optional)Application host url

Usage

Supported Event

Tokite support only below events now.

  • pull_request
  • issues
  • issue_comment

Supported query type

NameExample
Plain wordhoge fuga moge
Quoted word"hoge fuga moge"
Regular expression word/hoge|fuga|moge/
Exclude word -/(hoge|fuga|moge)/ -user:hogelog

Supported query field

NameDescriptionExample
repo:Match repository name.repo:cookpad/tokite
title:Match pull_request or issues title.title:Bug
event:Match event type pull_request, issues, issue_comment, pull_request_review, pull_request_review_comment.event:/pull_request|issues|pull_request_review|pull_request_review_comment/
body:Match body text.body:"review please"
user:Match user name.user:hogelog
label:Match pull_request or issue label.label:Feature
review_state:Match pull_request_review state.review_state:/commented|approved|changes_requested/
requested_reviewer:Match user name of review requested reviewerrequested_reviewer:hogelog
requested_team:Match team name of review requested teamrequested_team:cookpad/chef
unspecifiedMatch title or body field.review please