自動化の基本
Atlassian Cloud 製品における自動化の一般的なコンセプトとベスト プラクティスを説明します。
次のスマート バリューによって、ルール設定時に課題フィールドを JSON 形式に変換できます。通常、この方法は詳細なフィールド編集と [発信用 Web リクエストを送信する] アクションで使用されます。
Jira Automation テンプレート ライブラリでスマート バリューを使用する方法をご確認ください。
以下の例では、2 つのバージョンの課題 (バージョン 2.0 とバージョン 3.0)、選択した値 Yes, と要約フィールド Hello World を持つ、Decision というカスタムの単一選択があります。
適用先: テキスト形式のフィールドと値
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"
適用先: テキスト/数字タイプの値のリスト
値のリストを 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"]
適用先: 数字タイプの値のリスト
数値のリストを 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]
適用先: テキスト形式のフィールドと値
テキスト値を 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" }
適用先: オブジェクトのリスト (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" }]
適用対象:「Web リクエストを送信」アクションの {{webResponse}} や「受信 Webhook」トリガーの {{webhookData}} など、XML データを返すスマート値すべて。
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"]
この内容はお役に立ちましたか?