Gitlabの更新情報(Push、Issue、MergeRequest)をChartworkに通知するサーバです。
秘密情報を環境変数を設定します。
- CHATWORK_TOKEN:ChartworkのAPIトークン
- GITLAB_URL:gitlab apiのurl(例:https://gitlab.com/api/v3)
- GITLAB_TOKEN:gitlab apiのトークン
環境変数を設定します。
- NODE_ENV:production 本番環境ではassertを削除します。
配置に成功したか確認します。
node tools/testHeroku.js myapp 20003286
※ 第一引数にherokuのアプリケーション名を、第二引数チャットルームIDを指定してください。
GitlabのProjectのSettingsからwebhooksを登録します。
- gitlabのプロジェクトを開きます
Setting
を開きますWeb Hooks
を開きますURL
に http://myapp.herokuapp.com/gitlab/チャットルームID (数字のみ) を入れますPush events
のチェックを入れますAdd Web Hook
ボタンを押します
- テンプレートを変更することで通知内容を変更することが出来ます。
- テンプレートは
template
ディレクトリに入っています。 - テンプレートはmustacheテンプレートです。
- テンプレート名は更新種別[.チャットルームID].mustacheです。
- 更新種別はissue、merge_request、pushの3種類です。
- チャットルームIDを指定することで、特定のチャットルームにだけ適用することができます。
- rawプロパティを参照すると全ての情報をJSON形式で表示します。
bash
npm install
export CHATWORK_TOKEN=XXX
export GITLAB_URL=YYY
export GITLAB_TOKEN=ZZZ
npm run watch
fish
npm install
env CHATWORK_TOKEN=XXX GITLAB_URL=YYY GITLAB_TOKEN=ZZZ npm run watch
npm test
※ 環境依存のためテストは失敗します。
参考にしたアプリケーションの名前をもじってつけました。
https://github.com/astronaughts/chabot
Thank you!