読者です 読者をやめる 読者になる 読者になる

pushと同時に、担当者を自分にして、ステータスをNewからAssignedに自動的に変更されるようにしたい

redmine

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という仮定です。)
※ 汎用性をもたせるハックはやる気がなかったっす。
 
超カッコイイ!