Redmine 3.2 でカスタムフィールドの書式として「キー・バリュー リスト」が追加されたので、「リスト」は使う必要が無くなった

Redmine 3.2 にて、カスタムフィールドの書式に「キー・バリュー リスト」が追加されました。

Feature #21060: Custom field format with possible values stored as records - Redmine

新たなカスタムフィールドの書式「キー・バリュー リスト」を追加

もともと「リスト」という書式があったので、いったい何が違うんだろうと思う人がいるかもしれませんが、簡単に言うと

  • リストは、文字列自体を値として保持
  • キー・バリュー リスト は、IDを値として保持

となっています。

そのため、「リスト」の場合には、後から選択肢の値を変えてしまうと、すでに登録されているものの値は元々の名前のままになってしまいますが、「キー・バリュー リスト」は、値とIDを別々に持っているため、値を変えた場合に、すでに登録済みのものも変わってくれます。

たとえば、下記のような手順をとった場合、

  1. カスタムフィールドを作成(A、B の2つの選択肢を持つもの)
  2. チケットを作成し、カスタムフィールドを選択(Aを選択)
  3. カスタムフィールドの選択肢を変更(A→A'に)

「リスト」の場合は、2で作成したチケット上の値はAのままですが、「キー・バリュー リスト」だと、A'になってくれます。

もともとの「リスト」が抱えていた問題を解決してくれる書式なので、今後は「キー・バリュー リスト」選んだ方が良いかと思います。(変更するシチュエーションが今まであって、その際にはSQLで登録済みのものを修正していたので、とてもうれしい機能追加です)