A4 WORKS Official BLOG

A4 WORKS オフィシャルブログ

BitbucketのPull RequestをSlackに通知するWeb API

   

BitbucketのWebhookと、SlackのWebAPIを組み合わせせる事でcommit通知は送れるのですが、Pull Requestの通知は標準では送信できない様です。

ネットで探すといくつかのツールが見つかりますが、極力シンプルで改造しやすいをコンセプトに連携ツールを作成しました。

ダウンロード

ダウンロードはこちらから。
GitHub: bitbucket-slack


 

READMEに書いてあるモノをそのまま転記です。

Bitbucket-Slack の使い方

BitbucketのPull Request、コミット、コメントをSlackにPostします

コンセプト

1ファイルのわかりやすい構成としています。
最低限の実装なので、ご自由に改編して使ってください。
PHPの経験が少ない方でも改編して使って頂けるように極力シンプルに作ったつもりです。

使い方

前提

slackのチャンネル名は #test

WebAPIのTokenは取得済みである

参考: tokenの取得方法は割愛しますが以下のURLから取得できます。
https://api.slack.com/web

最低限の設定

1.PHPが動くサーバーにファイルをおきます。

http://example.com/bitbucket2slack.php としてアクセスできる前提とします。

2.設置したファイル内のSLACK_API_TOKENを適切なtokenに書き換えます。

Bitbuketの通知を行いたいリポジトリにて設定Webhooksの設定を行ないます。

Settings-> Webhooks

URL設定欄にパラメータchannelを追加してURLを設定します。
(チャンネル名の#はつけません)
e.g.
http://example.com/bitbucket2slack.php?channel=test

Triggers->Choose from a full list of triggers のチェックをいれ、 Pull Requestの必要箇所にチェックを入れます。

その他

アイコンは適宜変えてください。 Webhooksのリクエストに、ユーザーのアイコン情報が含まれますので、 それらを使うように改変して頂くのもよいかと思います。

動かない場合

USE_SYSTEM_LOG,USE_DISPLAY_LOG,SAVE_REQUEST_DATAの各項目をtrueに設定することで、 動作検証の手助けができます。 USE_SYSTEM_LOGを有効にした場合には、/var/log/httpd/error.logなどに出力されます。
※Webサーバーの設定により異なりますのでパスは適宜読み替えてください


 

何かの足しになれば幸いです。

 - git, PHP, Slack, webAPI , ,

STINGERレクタングル大

STINGERレクタングル大

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

php_icon
memcachedのインストールとPHPの対応

AWSのサーバーにmemcachedをインストールしたので備忘録。 memcac …

fuelPHP_icon
FuelPHPを使ってみる

ゲーム開発プロジェクトのサーバー側(アプリと連携させるAPIとか管理機能とか)を …

git_icon
Github 公式の.gitignoreサンプル

gitリポジトリを作るにあたり、.gitignoreの適当なサンプルを探していた …

fuelPHP_icon
FuelPHPのとっかかりの際に目を通してほしいスライド

公式のドキュメントも分かりやすく整理されているとはおもいますが、このスライドが要 …

git_icon
git commitした直前のコミットメッセージを修正したい

たまにしか使わないのもあり、毎回忘れるのでメモ。 gitで直前のコミットメッセー …

git_icon
gitでリポジトリから削除はしたいがファイルは残したい場合のgit rm

通常のgit rmだとファイルも削除されてしまうので、リポジトリからのみ消したい …

git_icon
git statusなどgitコマンド結果に色をつける

新しい環境で作業した際に忘れがちなのでメモ [crayon-5bea3f1782 …

スクリーンショット 2014-09-13 22.42.40
コマンドラインからDIFFMERGEを起動してファイルの差分を確認する

SourceTreeなどを使えばGUIで差分のあるファイルを確認したり、GUIの …

fuelPHP_icon
FuelPHPでSmartyを使う

以前のエントリ「FuelPHPを使ってみる」の続きです。 Twigを導入するか迷 …

Google Developers PageSpeed Insights_icon
Google Developers PageSpeed Insightsを活用してパフォーマンスチューニング

PageSpeed Insightsのトップページに書いてあるんですが「あらゆる …