カテゴリー
その他

RedmineとBitbucket(Gitレポジトリ)を連携させる

広告

仕事で使用しているRedmine(一人チケット管理だけど)とBitbucketのレポジトリとの連携の設定をしてみます。やってみると、つまづいた点がありましたので、メモとして残しておきます。

参考にしたのは以下のサイトです。

今回行った手順を簡単に説明すると以下の通りです。コマンドなどの詳細の手順は各サイトをご覧ください。

  1. Redmineにredmine_github_hookプラグインをインストールする。
  2. RedmineのサーバーにBitbucketリポジトリからmirrorリポジトリでcloneしておく。そのときgit remoteは、後で認証が面倒になるのでhttpsではなくsshで指定しておく。cloneはサーバーのredmineのアカウントで行う。
  3. Bitbucketリポジトリからfetchできるように、ssh-genkeyでパスワード無しで公開キー、秘密キーを作成する。公開キーをBitbucketに登録しておく。実際にfetchできるかテストしておく。
  4. Redmineでリポジトリの設定をする。設定はRedmine全体の設定とプロジェクト個別のリポジトリの設定がある。設定できたらプロジェクトのリポジトリが参照できるか見てみる。サイトが今どきUTF-8ではなくシフトJISだからリビジョンの差分が文字化けしてしまうので、全体の設定-ファイル(どういう訳かリポジトリではない)で、添付ファイルとリポジトリのエンコーディングをutf-8,cp932,euc-jpに設定しなければいけない。差分を表示をインラインにすると文字化けするが、横に並べるにすると正常に表示される(これは不明)。また、リポジトリが大きいとプロジェクトのリポジトリのページはInternal Errorになるが、しばらくすれば参照できる(これで最初諦めかけた・・・)。
  5. BitbucketのリポジトリのWebhooksの設定をして、commitするとredmineのレポジトリが更新されるようにしておく。何かcommitしてBitbucketにpushすると、Redmineのレポジトリが更新されるかを確認する。
  6. 連携する前のRedmineの各チケットとリビジョンと関連付けを行う。

以上は各サイトのいいどころ取りしたものです。それぞれ自分のサイトに合わせて設定してください。

以上ですと、Redmineからレポジトリを参照できるだけですので、BitbucketとSourceTreeでも使いやすいようにRedmineの連携も設定します。

BitbucketからRedmineのチケットIDとリンクするには、リポジトリの設定のリンクで

Link URL: https://[redmineのドメイン]/issues/\1
Link Key : #(\d+)

とします。これでBitbucketページ内で#チケット番号をクリックすれば、Redmineの該当する番号のチケットページが表示します。

同様にSourceTreeの設定-詳細で、コミットメッセージ中のリンクで

置換タイプ : その他
正規表現 : (\d+)
リンク先 URL : https://[redmineのドメイン]/issues/$1

と設定すると、コミット内のメッセージに出てくる#チケットIDをクリックすれば、Redmineの該当する番号のチケットページが表示できるようになります。

実現できなかったことは、Redmine内のレポジトリのハッシュからBitbucketのコミットにリンクの方法でした。何かよりRedmineのブラグインがあるのでしょうか?

広告

追記(2020年5月7日)

RedmineとSourceTreeの連携ですが、以上はWindowsの設定方法です。Macの場合は違います。リンク先ではなく置換される文字列となりますので、HTMLのリンクとなります。例えば、以下のようになります。

正規表現パターン : #(\d+)
と置き換えます : <a href="https://[redmineのドメイン]/issues/$1">#$1</a>

ただし、自分のところではブラウザが起動せずに、そのままのビューでRedmineになってしまいます。何かまだ問題がありそうです。

SourceTree で JIRA 課題や GitHub や Bitbucket Cloud Iss… - Atlassian CommunitySourceTree で JIRA 課題や GitHub や Bitbucket Cloud Iss... - Atlassian Community
広告