概要
JiraのBacklogやカンバンボードでデフォルトの挙動である優先度(Rank)順での表示をしつつ、特定の場合だけその優先度を変えらるようにする方法のメモ。簡単に順番を変えられるUIは良さでもあるが、操作ミスでうっかり変えてしまうこともあるのでなんとかしたい。
まず、Team-managed(チーム管理)タイプではできないので、Company-managed(企業管理)タイプでの話になる。
TL;TR
ボードのフィルタでORDER BY
とRank
の間に他の項目を入れる。
ORDER BY Sprint, Rank ASC
これで、このフィルタを使ったボードでは、優先度(Rank)順での表示をしつつ、その順番は変えられないようになる。
詳細
ネットで調べると、下記2つの方法が見つかったが、それぞれ許容できそうもないデメリットが有る。
- Schedule issuesの権限を付与していないユーザはRankを変えられなくなる(参考)
- ボードのフィルタでRankでソートしなければRankを変えられなくなる
1の方法だと、Rankの変更以外にも、Sprint間の移動や期日の設定などもできなくなる。
2の方法だと、Rankで表示するためにはRankを使わずにRankの順で表示されるような仕組みをカスタムフィールドなどを駆使して作ることになり、結構煩雑になりそう。正直実現できる方法があるのかもわからない。
また、Automationで「Rankの変更を検知して許可するユーザグループ以外だったら変更前に強制的に戻す」という方法も試みたが、Rankが何から何に変わったという情報が取得できないので有効ではなかった。
そこで、2の方法を一捻りして、ORDER BY
とRank
の間に他の項目を入れるとRankでソートされているという認識ではなくなるJiraの挙動を利用し、下記のようにボードのフィルタを変更してみた。
ORDER BY Rank ASC
を
ORDER BY Sprint, Rank ASC
に変えたら、このフィルタを使うボードでは、Rankでソートして表示しつつ、Rankを変えられなくなった。
スプリント間の移動は可能で、カンバンボードでもカラム間の移動も可能。かつRankは変わらない!
挿入するソート項目をSprintにすれば、BacklogでもカンバンボードでもSprintですでに分けられているので表示順に影響を与えないので、やりたいことはできた。