pushと同時に、担当者を自分にして、ステータスをNewからAssignedに自動的に変更されるようにしたい
redmineにはリポジトリの連動機能があって、refs #1とか書くと、
自動的にチケット番号と紐付けてくれるのですが、これが実におしい。
担当者がまだ振られていない状態、
ステータスもNewの状態を
gitのpushで自動的に変更したいと思いました。
というわけで、redmineを直接書き換えてみました。
redmineのバージョンは1.4です。
--- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -141,6 +141,13 @@ class Changeset < ActiveRecord::Base referenced_issues.uniq! self.issues = referenced_issues unless referenced_issues.empty? + self.issues.each do |issue| + issue.init_journal(self.user || User.anonymous) + issue.assigned_to=self.user if self.user + issue.status_id=2 if issue.status_id==1 + issue.save + end + end
これをやると、ユーザーがchangesetの方で取得できている場合は
チケットに担当者を自動的に突っ込みます。
ステータスが1の場合は2にします。
(1がNew, 2がAssignedという仮定です。)
※ 汎用性をもたせるハックはやる気がなかったっす。
超カッコイイ!