チケットとコミットログを連携させる

区分
git
報告者

はじめまして、6月入社のakiyamaと申します。
社内二人目のkinesisユーザです。 自宅ではDucky Yellow Keyboard使っています。

アクトインディではgitコミットログの一行目にredmineのチケット情報を入れることになっています。
またgitブランチ名にチケット番号を含める運用です(フォーマットはd/NNNN-branch-name)。
となれば、.git/hooks/prepare-commit-msgを使って自動挿入が楽そうです。

 1 #!/usr/bin/env ruby
 2 
 3 require 'json'
 4 require 'open-uri'
 5 require 'openssl'
 6 
 7 REDMINE_API_KEY=''
 8 REDMINE_URL = 'http://'
 9 
10 exit 0 if ARGV.size > 1
11 
12 branch = `git rev-parse --abbrev-ref @` || exit
13 branch =~ %r|^d/(\d+)| || exit
14 issue_no = $1
15 
16 open("#{REDMINE_URL}/issues/#{issue_no}.json?key=#{REDMINE_API_KEY}",
17      'r',
18      ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE) do |f|
19 
20   issue = JSON.parse(f.read)['issue']
21   open(ARGV[0], 'r+') do |f|
22     text = f.read
23     f.rewind
24     f.puts "#refs ##{issue['id']} #{issue['subject']}"
25     f.print text
26   end
27 end
28 

コミットをキャンセルしやすいようにチケット情報をコメントアウトしています。
先頭の#を消して3行目以降にコミットログを書けばさくさくコミットできて快適です。

初回から小ネタですが、今後ともよろしくお願いします。

トップページに戻る

技師部隊からの
お知らせ

【求人】エンジニア募集しています。

本頁の来客数
八十七万千百七十六名以上(計測停止中)

メンバー一覧

アクトインディ技師部隊員名簿

アクトインディ技師部元隊員

アクトインディへ

カテゴリー

アクトインディ

aaaa