Publish Subversion Messages to Twitter

by winson, 3 months ago.

把開發團隊的程式碼庫與Twitter訊息中心結合在一起該有多好?新推出的幾個Subversion hosting服務幾乎都有這種整合功能,例如Versionshelf,如此一來可以讓開發團隊成員直接訂閱Twitter即得知最近程式庫有哪些變更。這種做法相當有趣而且簡單:

1. 要擁有一個Subversion repository。 2. 要申請一個Twitter帳號,供團隊成員訂閱。 3. Subversion所在的伺服器必須可以跑curl,我們要利用Twitter的API來送出commit訊息。

請切換到伺服器上的Subversion repository目錄下:

cd /my_svn_repository_path

找到底下的hooks目錄:

cd hooks

先把post-commit.tmpl複製一份:

cp post-commit.tmpl post-commit

將其變更為可執行權限:

chmod 755 post-commit

post-commit.tmpl這個檔案是svn commit指令下達後所要執行的動作樣板,透過這個樣板我們可以附加其他動作進去,例如email通知,甚至是Twitter訊息發佈。

把樣板複製成一份可執行檔案,於是當Subversion伺服器執行完程式員送來的commit動作之後,便會尋找hooks目錄下是否有執行檔,如果有的話,便依照執行檔內容跑接下來的動作,所以他叫做post-commit。這個檔案內容如下:

REPOS="$1" 
REV="$2" 
COMMENT=`svnlook log -r${REV} ${REPOS}`

curl -u twitter_user:twitter_pass -d status="[Subversion] Revision ${REV}: ${COMMENT}" \ http://twitter.com/statuses/update.xml

請將您所申請的Twitter帳號密碼,填入twitter_user:twitter_pass之中。

最後,在Twitter上出現的訊息,會像底下這樣,或者您也可以根據需要修改curl後面的status內容:


  • Posted in Sugar, on Friday, March 28, 2008, at 09:22 AM.