開発をつぶやく

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は自作のコマンドラインでツイートするツールですが,類似のものが使用できると思います。

コメント

“開発をつぶやく” への1件のコメント

  1. […] Gerritの方の設定は,開発をつぶやくを見てください。 […]

liboauthのインストール | ちとろぐ へ返信する コメントをキャンセル

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