Jira スマート バリュー - JSON 関数

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

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

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

asJsonString

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

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

1 2 3 {{issue.fixVersions.first.name.asJsonString}} // Produces "Version 2.0"
1 2 3 {{issue.summary.asJsonString}} // Produces "Hello World"
1 2 3 {{issue.Decision.value.asJsonString}} // Produces "Yes"

asJsonStringArray

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

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

1 2 3 {{issue.fixVersions.name.asJsonStringArray}} // Produces ["Version 2.0","Version 3.0"]
1 2 3 {{issue.fixVersions.id.asJsonStringArray}} // Produces ["10046","10047"]

asJsonArray

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

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

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

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

1 2 3 {{issue.fixVersions.id.asJsonArray}} // Produces [10046,10047]
1 2 3 {{issue.fixVersions.name.right(3).asJsonArray}} // Produces [2.0,3.0]

asJsonObject(keyName)

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

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

1 2 3 {{issue.summary.asJsonObject("title")}} // Produces { "title": "Hello World" }
1 2 3 {{issue.Decision.value.asJsonObject("implementing")}} // Produces { "implementing": "Yes" }
1 2 3 {{issue.fixVersions.first.name.asJsonObject("title")}} // Produces { "title": "Version 2.0" }

asJsonObjectArray(keyName)

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

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

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

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

1 2 3 {{issue.fixVersions.asJsonObjectArray("name")}} // Produces [{ "name": "Version 2.0" },{ "name": "Version 3.0" }]
1 2 3 {{issue.customfield_10099.asJsonObjectArray("value")}} // Produces [{ "value": "Bob" },{ "value": "Jill" }]

xmlToJson(xmlString)

XML データの文字列表現を受け取り、JSON オブジェクトに変換します。これにより、ドット表記を使用して XML データのプロパティにアクセスできます。

ルールで「Web リクエストを送信」アクションを使用しているとします。このデータに JSON としてアクセスするには、{{xmlToJson(webResponse.body)}} を使用します。

XML にブロック <item>Hello World</item> が含まれている場合、スマート値 {{xmlTojson(webResponse.body).item}} は「Hello World」という文字列を返します。

関数をチェーンする

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

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

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

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

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

その他のヘルプ