Transitionて?
JIRAのワークフローは、IssueのStatusと、その間のTransitionの組み合わせでできている。TransitionはStatusとStatusの間の移動のこと。Statusが切り替わる際に、いろいろな条件やアクションを設定することができる。
Transitionを編集する
Transitionはワークフローの編集画面でAdd Transitionか、Statusにマウスオーバーすると表示されるコネクタからドラッグで簡単に作成できる。作成したTransitionをクリックして選択すると、Transitionの詳細パネルが出てくるのでそこから編集する。
Properties、Triggers、Conditions、Validators、Post Functionsとあるが、まずはシンプルなところでValidatorとPost Functionsを設定した。それぞれValidatorはTransitionが起きる際に、チェックするCriteriaを設定できる(例:Resolutionが編集されていること)のと、Post FunctionsはTransitionの後に起こすアクション。
例えばValidatorであれば、Field has been modified Validator で、「Resolve」というTransitionが起きた際には、「Resolution」fieldがアップデートされているというCriteriaが満たされているか監査する。
Post Functionsはもっといろいろ選択できる。とりあえず「Resolve」に関して設定したのは以下の2つ。
- Assign the issue to the reporter: Reporterにアサインバックして、Resolutionを確認してもらう(直ってなかったらReopen)
- A notification will be sent to the following HIpChat rooms: ResolveされたらHipChatのルームに飛ばす
雑感
- とりあえず「Assign to reporter」と「Notification to HipChat」は簡単にできるし便利
- わりと多彩なことができるはずなんだが、Validatorで設定できる内容がまだ微妙で、例えば「Resolveする際には必ずResolutionがアップデートされていること」がちゃんと動かなかったりする。
- PropertyとかTriggerは外部連携でもっといろいろ使えそうなんだが、今のところまだ手が出てない
- この部分をわかりやすく解説したドキュメントが少ない・・・