Starbug1とSVNの連携機能

以前から考えていたけど、実装には踏み切ってなかった機能であるSVN連携を1.3.16で実装してみました。SVNのリポジトリへのコミットログに「#123 修正済」などという文字を含めてコミットすると、Starbug1のticket id が 123のチケットの状態を自動的に修正済に変更する機能です。Starbug1 1.3.16には、starbug1/script/post-commit-svn.pl というサンプルスクリプトが付属されています。SVNのpost-commitのhookスクリプトに、post-commit-svn.pl を登録することで、SVNのコミットログによってStarbug1の状態を更新する機能が使えるようになります。


設定方法

SVNのhookスクリプトの登録

(starbug1のインストールディレクトリ)/script/post-commit-svn.pl を (Subversionリポジトリ)/hooks/post-commit としてコピーし、実行権限を付加します。

$ sudo cp (starbug1のインストールディレクトリ)/script/post-commit-svn.pl (Subversionリポジトリ)/hooks/post-commit
$ sudo chmod +x (Subversionリポジトリ)/hooks/post-commit
post-commitスクリプトの設定

$starbug1_infoのsubmit_urlという変数を設定します。

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use Encode;
my $starbug1_info = {
submit_url => 'http://localhost/starbug1/index.cgi/Sand%20Box/register_submit',
comment_field_id => 8
};
(略)

submit_url => ‘http://localhost/starbug1/index.cgi/Sand%20Box/register_submit’, という行です。変更する場所は、ホスト名(localhost) と サブプロジェクト名(Sand%20Box)です。サブプロジェクトの部分は、更新したいサブプロジェクト名のURLencodeされた文字列を指定する必要があります。

動作確認

チケットIDが1のチケットの状態を修正済に変更したい場合、SVNのコミット時に、「#1 修正済」などの文字列をコミットログに含めてコミットします。コミットが正常に終了した後、Starbug1のチケットを参照すると、状態が「修正済」となり、コメントにコミットログが記載されていれば、設定は成功です。


この機能で、よりストレスの無い開発作業を助けることになれば嬉しいです。

コメントする

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


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください