Web フック・他サービス連携機能
Contents
Web フック・連携機能は、tracpath のプロジェクトにある Wiki やチケット、リポジトリの更新などを行った際に、その内容に応じてリクエストを指定する任意の URL や他サービスに送信する機能です。
この機能は、各プロジェクトの管理ページにある「通知」→「Web フック & 連携」から設定することができます。また、すべてのプランでご利用いただけます。連携可能な他サービスは、現在のところ ChatWork、Slack、Typetalk、Jenkins などがあります。
- 管理者IDでログインします
- プロジェクトの「管理」をクリックします
左メニューの「通知」→「Web フック & 連携」を選択します
- 設定を行い「追加」をクリックします。
- 以下はslack連携例です。
Jenkins の設定方法
対象のリポジトリが扱えるように「Jenkinsの管理」>「プラグインの管理」から対応するプラグイン Subversion plugin, Git plugin, Mercurial plugin をインストール済みとする
Jenkins の URL が http://jenkins.example.com/ であるとする
/admin/notifications/hooks から Jenkins を選択して「追加」
- リポジトリの種類に合わせたものを選択
- Jenkins ルート URL を入力
- 処理させたくないリポジトリがあれば、チェックを外す
- 「追加」
Jenkinsサーバーと tracpath を連携させる方法
- tracpath 側の設定:
- 更新時に Jenkins と連携したいリポジトリを持っているプロジェクトの管理に移動します
「通知」>「Web フック & 連携」に移動します
- 「Web フックまたは連携の追加」からリポジトリの種類に合わせて「Jenkins (Git プラグイン)」などを選択し、「追加」をクリックします
- 「Jenkins ルート URL」に Jenkins の URL を入力します
- - この URL に対して tracpath からコミットやプッシュ時にアクセスを行うため、外部からアクセスできるようにします
- 「ユーザ名」「パスワードまたは API トークン」
- - tracpath からのアクセスに使用する専用のユーザを作成するのをおすすめします - このユーザで実行したいジョブが参照できる必要があります - このユーザ・パスワードで Jenkins に対して HTTP 認証を行います - CSRF 対策を有効にしている場合 (デフォルトで有効になっています)、CSRF 対策用のトークンを取得する際にも使用します
- イベントから Jenkins へ通知を行いたいリポジトリを選択します
- Jenkins 側の設定:
- ジョブの設定に移動します
- 「ソースコード管理」では、対象になるリポジトリの URL や認証情報を入力します
- 「ビルド・トリガ」では、「SCM をポーリング」を有効にします
- - 「スケジュール」は、空のままでも問題ありません
- 対象のリポジトリで、コミットやプッシュを行って、設定が期待通りに動作するか確認します。
Chatwork の設定方法
http://developer.chatwork.com/ja/authenticate.html に従って API トークンを取得
ChatWork では API トークンの利用には事前申請が必要
- メッセージの投稿先になるルームの ID を取得
対象のルームに移動して、現在の URL に表示されている https://www.chatwork.com/#!ridXXXXXXXXXX から XXXXXXXXXX にあたる数字部分を抜き出します
/admin/notifications/hooks から ChatWork を選択して「追加」
- 取得したルーム ID と API トークンを入力
- 処理させたくないイベントがあれば、イベントからチェックを外す
- 「追加」
Slack の設定方法
tracpath の Webフックを利用して、Slack に通知することが可能です。Slack の特定のチャンネルに通知するための設定手順を説明します。 まずは、Slack側の設定を完了後、tracpath側の設定を行います。
- Slack のあなたが作成したアカウントにログインします。
投稿先になるチャンネルを選択、または作成し、Add Incoming WebHooks integration を実行します。
- Webhook URL が生成されるのでその URL を記録します。
- tracpath の管理画面にアクセスし、「Web フック&連係」をクリックします。
/admin/notifications/hooks から Slack を選択して「追加」します。
Slack の WebHooks 画面から取得した Webhook URL を URL 欄に入力します。
チャンネル、ユーザ名、絵文字アイコンは、Incoming WebHooks で設定している内容の代わりに使いたいものがある場合に入力します。
- 処理させたくないイベントがあれば、イベントからチェックを外します。
- 「追加」 を押下します。
これで、tracpathからSlackのチャンネルに通知されます。
Typetalk の設定方法
- 投稿先になるトピックに移動
- トピック ID を取得
URL https://typetalk.in/topics/XXXXX から XXXXX 部分にあたる数字を記録
- Typetalk token を取得
- ページ上部にある歯車アイコン「トピックの編集」をクリック、「ボット」タブを選択し、「ボットの追加」をクリック
API スコープでは topic.post にチェックを入れて「作成」
- Typetalk token が生成されるので、これを記録
/admin/notifications/hooks から Typetalk を選択して「追加」
- 取得したトピック ID、Typetalk トークンを入力
- 処理させたくないイベントがあれば、イベントからチェックを外す
- 「追加」
web-hook/ウェブフック/hook