Bitbucketの更新をHubot経由でSlackに通知する
6581 ワード
1.概要
- Bitbucketの更新をHubot経由でSlackに通知する
- 通知対象:PullRequest, Issue, Repositoryの各イベント
2.動機
- 既存のSlack Bitbucket Integrationでは、Repository Push のみしか対応していない
- どうせなら、全部通知してほしい(特にPullRequest周り)
- とういうことで、作った
3.導入方法
前提
- Hubot => Slackの連携はできている(ping -> pongができればok)
-
backlog→hubot→slack連携がわかりやすいと思うので参考にしてください
npm導入
- hubotディレクトリ内(binとかpackage.jsonがあるとこ)で下記コマンド
npm install bitbucket2slack --save
-
external-scripts.json
に下記を追加する
external-scripts.json
"bitbucket2slack"
Bitbucketのwebhook設定
- 既存のSlack Bitbucket Integrationでは、Repository Push のみしか対応していない
- どうせなら、全部通知してほしい(特にPullRequest周り)
- とういうことで、作った
3.導入方法
前提
- Hubot => Slackの連携はできている(ping -> pongができればok)
-
backlog→hubot→slack連携がわかりやすいと思うので参考にしてください
npm導入
- hubotディレクトリ内(binとかpackage.jsonがあるとこ)で下記コマンド
npm install bitbucket2slack --save
-
external-scripts.json
に下記を追加する
external-scripts.json
"bitbucket2slack"
Bitbucketのwebhook設定
- backlog→hubot→slack連携がわかりやすいと思うので参考にしてください
npm install bitbucket2slack --save
external-scripts.json
に下記を追加するexternal-scripts.json
"bitbucket2slack"
- Tilteは適当にわかりやすいものを入力 例)「slack_notification」
- URLには以下を設定する
{hubot_url}/bitbucket2slack
例)http:example.com:8080/bitbucket2slack
- 通知してほしい更新のみ Triggersから選択する
通知先指定(2つの方法)
Getパラメータでの指定(優先)
http:example.com:8080/bitbucket2slack?destination=bb-notification-channel
http:example.com:8080/bitbucket2slack?destination=t_mimura
環境変数での指定
export HUBOT_BITBUCKET2SLACK_DESTINATION = "bb-notification-channel"
export HUBOT_BITBUCKET2SLACK_DESTINATION = "private-kosokoso-heya"
通知先(destination)はCHANNEL, PRIVATE_GROUP, DM(user_name)に対応している
4.通知例
5.オプション(追加機能)
色の指定方法
Action | Type | defaultColor |
---|---|---|
Pullrequest Create | information | LightBlue |
Pullrequest Approved | good | Green |
Pullrequest Approval Removed | danger | Red |
Pullrequest Merged | good | Green |
Pullrequest Declined | danger | Red |
Pullrequest Comment... | warning | Orange |
Issue ... | information | LightBlue |
Repository Push | information | LightBlue |
Repository Fork | information | LightBlue |
- Getパラメータでの指定(優先)
http:example.com:8080/bitbucket2slack?good_color=000000
http:example.com:8080/bitbucket2slack?warning_color=ff0000&danger_color=f0f
※ colorに #
は含めない
ダメな例).../bitbucket2slack?warning_color=ff0000&danger_color=#f0f
- 環境変数での指定
export HUBOT_BITBUCKET2SLACK_GOOD_COLOR = "000"
export HUBOT_BITBUCKET2SLACK_INFOMATION_COLOR = "ffff00"
6.雑多
- Slack通知の整形や通知情報の追加などは継続的に続ける予定
-
Githubに投稿したので、変な英語あったら教えてください(英語力のなさが露呈してる...)
- 今後の課題として、Bitbucket-Slack間のユーザー名の差異をどうやって吸収するか(対応マップをJSONで書いておくくらいしか思いつかない)
-
Backlog版も作りました(
記事にするかは未定 Backlogの更新をHubot経由でSlackに通知する)
6.参考/利用したURL
7.追記(2/26)
- Slack公式がBitbucketのすべてのWebHookに対応したらしい
- Bitbucket2Slackの存在意義がほとんどなくなりました
7.追記(2/26)
- Slack公式がBitbucketのすべてのWebHookに対応したらしい
- Bitbucket2Slackの存在意義がほとんどなくなりました
(アリガトウゴザイマシター
Author And Source
この問題について(Bitbucketの更新をHubot経由でSlackに通知する), 我々は、より多くの情報をここで見つけました https://qiita.com/t_mimura/items/cc7f319cc0f7698c2617著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .