robotsnoindex

以下のスマート バリューを使用すると、ルール設定時に、課題フィールドを JSON 形式に変換できます。この方法は通常、[詳細なフィールド編集] アクションと、[送信用 Web リクエストを送信] アクションで使用されます。

スマート バリューを使用する方法を Jira Automation テンプレート ライブラリでご確認ください。

以下の例では、2 つのバージョンの課題 (バージョン 2.0 とバージョン 3.0)、選択した値 Yes, と要約フィールド Hello World を持つ、Decision というカスタムの単一選択があります。

asJsonString

  • 適用先: テキスト形式のフィールドと値

JSON 形式でテキスト プロパティを文字列としてレンダリングします。これにより、文字列内のすべての特殊文字がエスケープされます。

{{issue.fixVersions.first.name.asJsonString}} 
// Produces
"Version 2.0"

{{issue.summary.asJsonString}} 
// Produces
"Hello World"

{{issue.Decision.value.asJsonString}}
// Produces
"Yes"

asJsonStringArray

  • 適用先: テキスト/数字タイプの値のリスト

値のリストを JSON でエンコードされた値のリストに変換するか、数字のリストを JSON でエンコードされた文字列のリストに変換します。

{{issue.fixVersions.name.asJsonStringArray}}
// Produces
["Version 2.0","Version 3.0"]

{{issue.fixVersions.id.asJsonStringArray}}
// Produces
["10046","10047"]

asJsonArray

  • 適用先: 数字タイプの値のリスト

数値のリストを JSON でエンコードされたリストに変換します。

次の 2 つ目の例では、テキスト機能を利用して各修正バージョンから version という語を削除します。こうすることで、asJsonArray を使用して返されたリスト (「2.0」および「3.0」) を数字のリストに変換できます。

正しくレンダリングされないため、テキスト値のリストにこの関数を使わないでください。

{{issue.fixVersions.id.asJsonArray}}
// Produces
[10046,10047]

{{issue.fixVersions.name.right(3).asJsonArray}}
// Produces
[2.0,3.0]

asJsonObject(keyName)

  • 適用先: テキスト形式のフィールドと値

テキスト値を JSON キーと値のペア オブジェクトに変換します。keyName プロパティは、以下のとおり、フィールド名として使用されます。

{{issue.summary.asJsonObject("title")}}
// Produces
{ "title": "Hello World" }

{{issue.Decision.value.asJsonObject("implementing")}}
// Produces
{ "implementing": "Yes" }

{{issue.fixVersions.first.name.asJsonObject("title")}}
// Produces
{ "title": "Version 2.0" }

asJsonObjectArray(keyName)

  • 適用先: オブジェクトのリスト (fixVersions やカスタムの複数選択)

オブジェクトの 1 つの属性を JSON キーと値のペア オブジェクトに抽出できます。

この関数では、キーの名前を変更できません。変更するには、この関数を他の関数とチェーンする必要があります。

以下の例では、2 つの値 ("Bob" と "Jill") が選択されている複数選択のカスタム フィールドを使用して、別のフィールドでどのように機能するかが示されています。複数選択のカスタム フィールドは、ID と値のプロパティを持つオブジェクト リストです。

{{issue.fixVersions.asJsonObjectArray("name")}}	
// Produces
[{ "name": "Version 2.0" },{ "name": "Version 3.0" }]

{{issue.customfield_10099.asJsonObjectArray("value")}}	
// Produces
[{ "value": "Bob" },{ "value": "Jill" }]

関数をチェーンする

上の 2 つの関数を連結して、オブジェクトからプロパティを取得し、JSON のキー値ペアに変換ます。このとき、キーの名前も変更します。

次の例では、fixVersions というネームプロパティを選択しています。

{{issue.fixVersions.name.asJsonObject("title").asJsonArray}}
// Produces
[{ "title": "Version 2.0" },{ "title": "Version 3.0" }]

以下の例では、直接 asJsonStringArray を使って同じ結果を得ていますが、関数をつなげて目当ての値を返す方法を示しています。

{{issue.fixVersions.name.asJsonString.asJsonArray}}	
// Produces
["Version 2.0","Version 3.0"]