アクションカードに選択可能な出力を追加する
コネクタービルダーを利用することで、コネクターのエンドユーザーが選択する出力フィールドのリストを調べることができます。コネクターの開発者として、コネクターフロー向けにこれらのフィールドを取得できます。
この機能は、ペイロードの大きなデータを取得するサードパーティサービスに対するコネクターを構築する場合に便利です。そのようなサードパーティサービスでは、応答で返されるフィールドをコネクターの開発者が指定できます。
たとえば、Jira REST APIのGet Issueであれば、応答に含まれるカンマ区切りのキーのfieldsの配列を開発者が渡すことができます。フィールドが提供されない場合、このサービスはすべてのフィールドを返します。
ただし、Jiraの課題では数百フィールドが考えられるため、フィルタリングされていない応答が大型化してパフォーマンスに影響を生じる可能性があります。特定のフィールドのサブセットを指定することで、ペイロードのサイズを小さくし、サードパーティーサービスからの応答を待機する時間を短縮できます。
コネクタービルダーは、コネクター向けにユーザーが選択した出力のリストを提供します。このリストは、応答で要求した場合にサードパーティサービスがフィールドのリストを受け入れるかどうかに関係なく存在します。
選択された出力のリストがサードパーティーサービスで使用されない場合、リストは無視できます。
アクションフローで選択された出力フィールド
出力は、フローの実行時にデータを返すカードのフィールドです。このようなフィールドは、フロー内の別のカードの入力フィールドに(ドラッグアンドドロップで)マッピングできます。
Actionフローの作成時は、コネクターアクション(Connector Action)カードは選択されたオプション(SELECTED OUTPUTS)セクションを表示します。このセクションは、出力フィールドのグループを追加するまで空となります。カードに出力フィールドのグループを追加すると、セクションにドラッグ可能な出力フィールドが追加されます。作成される出力グループごとに、個別の出力フィールドが追加されます。
出力フィールドの追加には、出力(Outputs)ダイアログを使用します。コネクターカードに入力と出力のフィールドを追加するを参照してください。
| フィールド | 定義 | タイプ |
|---|---|---|
| グループ名 | 複数のグループ名を利用できるので、カードユーザーが理解しやすいようにフィールドをグループできます。 | テキスト |
| ラベル | これはカードの値の上に表示されるフィールドの表示名です。 | テキスト |
| タイプ | このタイプはカードユーザーが指定するデータの想定値を説明します。出力フィールドには、次のデータ型を使用できます。
出力フィールドのデータセットは、サポートされる型のリストである場合もあります。 |
ドロップダウン |
選択された出力のオブジェクト形状
サードパーティサービスは、各グループを次の形式で選択された出力(Selected Outputs)セクションに返します。
{
"field A":
{
"type": "Text",
"collection": false
},
"field B":
{
"type": "Object",
"collection": true
},
"field C":
{
"type": "True/False",
"collection": false
}
}
このリストは、Object KeysおよびList to Text関数カードを使ってカンマ区切りのテキスト文字列として処理できます。必要であれば、Object Construct関数カードを使って文字列をクエリオブジェクトとしてフォーマットできます。
静的なフィールドでは、選択された出力(Selected Outputs)の最上位レベルのキーは出力(Outputs)ダイアログのField IDフィールドの値です。この値は、出力フィールドごとに自動的に生成されます。
Dynamic Fieldsオプションを使って作成されたフィールドでは、トップレベルのキーは、フィールドリストを表すオブジェクトリストで使用されるnameフィールドです。例:
[
{
"displayname":"Field A",
"name":"fieldA",
"type":"Text",
"collection":false
},
{
"displayname":"Field B",
"name":"fieldB",
"type":"Object",
"collection":true
},
{
"displayname":"Field C",
"name":"fieldC",
"type":"True/False",
"collection":false
}
]