自分用メモ的なもの

Bitbucketのプルリクエスト通知をSlackへ

Pocket

Slack標準にあるBitbucket連携だとプルリクエスト通知には対応していないそうなのでこちらのツールを使わせていただきました!
基本的には作者さまの記事の通りなのですが、
Xserver(エックスサーバー)にツールをおいた際にComposerのインストールなどツールと関係ない部分で引っかかったので手順をメモします。

既にエックスサーバーのSSH設定は有効にしてあるものとします。
またコマンドの使用は控えめとなっています。

エックスサーバーにComposerをインストール

サーバにSSH接続します。私はcoda2のターミナルを使用しています。

ホームディレクトリ(/home/<サーバーID>)で下記を実行。

composer.pharがダウンロードできていれば下記のコマンドで動作が確認できます。

通知をしてくれるツールのインストール

ソース一式をダウンロード

GitHubのリポジトリからダウンロードします。

設定ファイルの修正

configディレクトリにある
slack.json.defaultをコピーしてslack.jsonとします。

テキストエディタなどで開いて、SlackのAPI トークンを追加し保存します。

※APIトークンはSlackにログイン後こちらで発行できます。

ソース一式をアップロード

ソース一式を下記にアップロードします。
/<サーバーID>.xsrv.jp/public_html/bitbucket_event_notification

アップロードしたディレクトリに先ほどダウンロードされたcomposer.pharをコピーしておきます。
/<サーバーID>.xsrv.jp/public_html/bitbucket_event_notification/composer.phar

サーバにSSH接続

ホームディレクトリ(/home/<サーバーID>)からアップロード先に移動します。

tmpディレクトリのパーミッションを修正

Composerで必要なプラグインをインストールします

Bitbucketの設定

通知したいリポジトリの設定のフックを設定します。

Pull Request POSTのURL
http://<サーバーID>.xsrv.jp/bitbucket_event_notification/gateway.php?destination_service=slack&room_id=%23<Slackのチャンネル名>

#webtestというチャンネルの場合は下記のようになります。
http://<サーバーID>.xsrv.jp/bitbucket_event_notification/gateway.php?destination_service=slack&room_id=%23webtest

以上です。

参考

Pocket