Gerritのmergeフックを利用して,ソースの変化をTwitterにつぶやく方法です。
Gerritにソースをpushして,レビューアにapproveされて,Submitボタンを押して変更がマージされると,下記スクリプトが実行されます(「review_site」はGerritのインストール先です)。
review_site/hooks/change-merged
実行される際のパラメータは,以下のようになります。
change-merged --change <change id> --change-url <change url> --project <project name> --branch <branch> --submitter <submitter> --commit <sha1>
- change id: Gerrit上のURLの連番
- change url: GerritのURL
- project name: gitのリポジトリ名
- branch: マージされたリモートブランチ名
- submitter: 変更をpushした人
- sha1: コミットのhash
ツイート内容として,
[プロジェクト] コミットコメントのサブジェクト GerritレビューURL 例) [lhaz] Clean up of sort kind/reverse http://review.chitora.com/#change,497
とつぶやきたい場合,change-mergedスクリプトの内容を以下のようにします。
#!/bin/sh URL=$4 PROJECT=$6 SHA1=$12 cd ../git/$6.git TITLE=`git show -s --format="%s" $SHA1` twt "[$PROJECT] $TITLE $URL"
それぞれ引数を変数に引き取り,
cd ../git/$6.git
にてgitリポジトリのディレクトリに移動します。hooksから見た相対位置になります。
TITLE=`git show -s --format="%s" $SHA1`
はコミットのサブジェクトを取り出すgitコマンドになります。
twtは自作のコマンドラインでツイートするツールですが,類似のものが使用できると思います。
liboauthのインストール | ちとろぐ へ返信する コメントをキャンセル