====== バージョン管理システム連携 ====== ===== 概要 ===== 多くのVCS(バージョン管理システム)では、コミットする時に、外部スクリプトを呼び出すように設定することができます。この機能を使って、コミットログに「#123 修正済」などの文字列を含めると、設定されたStarbug1のサブプロジェクトのチケットIDが123のチケットの状態を修正済に更新することができます。Starbug1にSubversion用のpost-commitスクリプトが付属しています。 本機能は、1.3.16以降で利用できます。 ===== 添付のSubversion用post-commitスクリプトの設定方法 ===== === 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のチケットを参照すると、状態が「修正済」となり、コメントにコミットログが記載されていれば、設定は成功です。