Jiraの設定周りを整理

Jiraの設定をたまにするのだけど、ドキュメントさらっと読みつつ何となく設定して誤魔化してて、理解してやってないと良くないよねと思いまして、ドキュメントを読んでみました。絶対忘れるのでメモしておく。

今回下記内容をざっと理解。

issue type

  • Jiraは基本issueをチケット化して管理するんだけど、そのissueの種類
  • 例えば... Epic、Story、Task、Subtask、Bugとか
  • 階層化することが可能(デフォルトでは3階層)
    • Parent/Epic issues
    • (Standard) issues
    • Child issues (subtask)

issue type scheme

  • issueのセットみたいなもの
  • プロジェクトに割り当てて使う
    • 当該プロジェクトはissue type schemeに紐づけられているissue typeのみ使える
  • 用途:テンプレートとなるような共通のissueセットを作成しておいて、関連するプロジェクトでは同じものを使うとか?
    • スクラム用のissue type schemeとかデフォルトで用意されていたりする

workflow

  • issueが処理されていく流れ = 業務フローという感じ
    • 例:ToDo --> In progress --> Review --> Done
  • StatusとTransitionを定義
    • Status = issueの状態(上の例だとToDoとかIn progressとか)
    • Transition = あるStatusから別のStatusに移動できるようにするリンク
      • Status間の移動を定義できる
      • 例えば、Review StatusのチケットのみDoneに移動できるとか
  • GUI使って設定できる
  • Transitionに関連して色々できる
    • Triggers: リンクされてる外部ツールのイベントをトリガにしてStatusを変更したりすることが可能
    • Conditions: issueを移動できるユーザに条件つける
    • Validators: issue移動時に入力された内容が有効かチェック
    • post-functions: issue移動後に追加の処理を実施(Fieldのアップデートとか)

workflow scheme

  • workflowとissue typeを紐づける = 特定のissue typeのworkflowを設定する
  • issue type毎にworkflowを設定することが可能
  • workflow schemeをプロジェクトに割り当てる
    • issue typeでプロジェクトで利用するissueの種類を決める
    • workflow schemeでissue type毎のworkflowを決める

screen

  • (Issueの操作で表示する)画面を定義*1
    • こんな画面と定義する
  • fieldの集合

screen sheme

  • 画面の定義とissueの操作(issueの作成、編集、表示)と画面を紐づけ
    • issueのこの操作ではこの画面を表示すると定義
  • issueの操作毎に画面を変えることが可能

issue type screen scheme

  • screen shemeとissue typeを紐づける
    • このissue typeでは、このscreen schmeを利用する(この操作でこの画面を表示する)と定義
  • issue type screen schemeをプロジェクトに割り当てる
    • issue typeでプロジェクトで利用するissueの種類を決める
    • workflow schemeでissue type毎のworkflowを決める
    • issue type screen schemeでissue type毎に各種操作で表示する画面を決める

field configuration

  • screenと重複している感じ
  • field視点で、表示する/しないを設定することが可能
  • fieldとscreenの紐づけをここで変更することが可能だけど、これはfield configurationローカルの変更ではなくて、Globalな変更となる。要はここで割り当てを変更すると、他のfield configurationの部分にも影響がでる
    • とても分かり難い挙動。なんでこれだけglobal?
  • 正直screen主体で考えた方が分かり易い気がした

field configuration scheme

  • fieldとissue typeを紐づけ
    • このissue typeではこのfieldを表示するみたいな感じ
  • field configuration schemeをプロジェクトに割り当て
    • issue typeでプロジェクトで利用するissueの種類を決める
    • workflow schemeでissue type毎のworkflowを決める
    • issue type screen schemeでissue type毎に各種操作で表示する画面を決める
    • field configuration schemeでissue type毎に表示するfieldを決める
  • 結局画面で表示されるのは、screenの設定とfieldの設定のAND

プロジェクトとscreen/workflow/field schemeの関係

たぶんこのドキュメントが一番分かり易いからこれを読めばOK

*1:issueの操作との紐づけはここではしない