A4 WORKS Official BLOG

A4 WORKS オフィシャルブログ

git PHP Slack webAPI

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

投稿日:2015年9月12日 更新日:

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
-, ,

執筆者:

関連記事

PHPでAPCを有効にするとclass not foundになる現象

最近はLINEスタンプのネタばかりだったので、久々の技術ネタです。 4年ほど前に作ったシステム(ソーシャルゲーム)を訳あってAWS環境で再構築したところ、APCを有効にするとそれまで普通に動いていたシ …

Github 公式の.gitignoreサンプル

gitリポジトリを作るにあたり、.gitignoreの適当なサンプルを探していたら.gitignore templatesなるものの存在を知りました。 https://github.com/githu …

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

AWSのサーバーにmemcachedをインストールしたので備忘録。 memcachedのインストール # yum install memcached 起動します。 # service memcache …

no image

PHPの名前空間を実際に使ってみた。

A4 WORKS 新人の池田です。 “ブログを書くことで学べる事も多くある”という教えのもと、ブログ初挑戦です。 読みにくい部分も多分にあるかとは思いますが最後までおつきあい頂 …

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

たまにしか使わないのもあり、毎回忘れるのでメモ。 gitで直前のコミットメッセージを修正したい $ git commit -m ‘通常のコミットコメント’ –amend オプションをつけ再 …