承認タスク
承認タスクでは、承認ベースのインテグレーションを構成できます。また、インテグレーションのフローも管理できます。
承認タスクを使用すると、1 人以上のインテグレーション ユーザーに承認リクエスト メールを送信できます。メールには、ユーザーがリクエストを手動で承認または拒否できるインテグレーションへのリンクが含まれます。
インテグレーションの実行時、コントロールが承認タスクに到達すると、実行は一時停止され、承認タスクより後のすべてのタスクが一時停止されます。ユーザーが Google Cloud コンソールまたは API を使用して承認リクエストを承認または拒否した場合にのみ、インテグレーションは実行を再開します。
承認タスクは、次の目的で使用できます。
- ユーザーの承認または拒否に基づいてインレグレーションを一時停止し、分岐させる。
- 指定した期間までインテグレーションを一時停止する。
- インテグレーションをデバッグするためにブレークポイントとして使用する。
承認タスク、一時停止タスク、タイマータスクを比較する
3 つのタスク(承認、一時停止、タイマー)のすべては統合の一時停止と再開と同様の機能を実行します。ただし、それらにはわずかな違いがあります。次の表に、3 つのタスクの違いを示します。
| 承認タスク | 一時停止タスク | タイマータスク |
|---|---|---|
| ユーザーが Integrations UI で、または API を使用してリクエストを承認または拒否すると、再開されます。 | インテグレーションの手動再開と自動再開の両方をサポートしています。一時停止を取り消すための手動操作がない場合、インテグレーションは一時停止期限の経過後に実行を自動的に再開します。 | 統合の自動再開のみをサポートしています。インテグレーションの実行は、一時停止の期限を経過すると自動的に再開されます。 |
インテグレーションを再開するには、インテグレーション UI を使用するか、suspensions.resolve メソッドを呼び出します。API を使用して承認または拒否するをご覧ください。 |
suspensions.lift メソッドを呼び出して、統合を再開できます。 |
インテグレーションの自動再開のみをサポートしています。 |
| インテグレーションが停止(一時停止)すると、ユーザーが通知を受け取ります。 | 統合が停止(一時停止)しても、ユーザーは通知を受け取りません。 | 統合が停止(一時停止)しても、ユーザーは通知を受け取りません。 |
出力変数(ブール値)がサポートされます。これにより、インテグレーションを再開する前に条件付きチェックを実行できます。ただし、出力変数の値は true または false のいずれかに限られます。 |
出力変数(文字列)がサポートされます。これにより、インテグレーションを再開する前に条件付きチェックを実行できます。出力変数には任意の値を設定できます。 | 出力変数はサポートしていません。 |
承認タスクを構成する
承認タスクを構成するには:
- Google Cloud コンソールで、[Application Integration] ページに移動します。
- ナビゲーション メニューで [統合] をクリックします。
[統合] ページが開き、Google Cloud プロジェクトで使用可能なすべての統合が一覧表示されます。
- 既存の統合を選択するか、[統合の作成] をクリックして新しい統合を作成します。
新しい統合を作成する場合:
- [統合の作成] ペインで名前と説明を入力します。
- 統合のリージョンを選択します。
- 統合用のサービス アカウントを選択します。統合のサービス アカウントの詳細は、統合ツールバーの [統合の概要] ペインでいつでも変更または更新できます。
- [作成] をクリックします。新しく作成された統合が統合エディタで開きます。
- 統合エディタのナビゲーション バーで、[タスク] をクリックして、使用可能なタスクとコネクタのリストを表示します。
- 統合エディタで [承認] タスク要素をクリックして配置します。
- デザイナーの [承認] タスク要素をクリックして、承認タスク構成ペインを開きます。
- 次の表に示すように、表示された項目はタスクの構成プロパティを使用して設定します。
プロパティへの変更は自動的に保存されます。
構成プロパティ
次の表は、承認タスクの構成プロパティを示しています。
| プロパティ | データ型 | 説明 |
Recipients
|
文字列配列 | タスクが停止されたときに送信されるメールアドレス。複数のメール アドレスはカンマで区切って入力します。 |
Custom notification message
|
String(文字列) | タスクが一時停止されたときにメール通知に含めるカスタム メッセージ。値は、リテラル値または変数です。変数にカスタム メッセージを利用できる場合は、VAR をクリックして、変数を選択します。 |
Reminder frequency (in hours)
|
整数 | リマインダー通知の頻度。 停止状態が解消されていない場合は、停止ユーザーに解決を依頼するリマインダー 通知を送信できます。 |
Time until expiration (in hours)
|
整数 | 一時停止の期間。 期限内に一時停止が解決されない場合、デフォルトでは一時停止が拒否されます。 |
On expiration
|
ブール値 | 一時停止期間の終了後に実行される操作です。 一時停止を拒否するか、一時停止を解除するかを選択できます。デフォルトでは、停止は拒否されます。 |
isApproved (Approval)
|
ブール値 | 解決後の停止のステータスを持つ出力変数。
一時停止が承認された場合、 |
API を使用して承認リクエストに応答する
Google Cloud コンソールを使用せずに、保留中の承認リクエストを承認または拒否するには、projects.locations.integrations.executions.suspensions.resolve メソッドを呼び出します。
リクエストを承認または拒否するには、integrations.suspensions.resolve 権限が必要です。停止を一覧表示するには、integrations.suspensions.list 権限も必要です。Application Integration 承認者(roles/integrations.suspensionResolver)ロールには、Application Integration 管理者(roles/integrations.integrationAdmin)ロールと同様に、両方の権限が含まれています。
統合で run-as サービス アカウントを使用する場合は、そのサービス アカウントにサービス アカウント ユーザー(roles/iam.serviceAccountUser)ロールを付与します。この要件は、サービス アカウント ユーザーを付与するで説明されているロールアウトの進行に伴って有効になります。
- 保留中のリクエストを見つけるには、
projects.locations.integrations.executions.suspensions.listメソッドを使用して、実行の一時停止を一覧表示します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions"レスポンスで、
taskIdが承認タスクの ID で、stateがPENDINGである停止を見つけます。レスポンスには、同じ実行内の Suspend タスクと他の Approval タスクからの停止も含まれます。停止のnameをメモします。これは停止 ID で終わります。 - リクエストを承認または拒否するには、
suspensions.resolveメソッドを呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "suspension": { "eventExecutionInfoId": "EXECUTION_ID", "integration": "INTEGRATION_NAME", "taskId": "TASK_ID", "state": "STATE" } }' \ "https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME/executions/EXECUTION_ID/suspensions/SUSPENSION_ID:resolve"
次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION: 統合のリージョン。INTEGRATION_NAME: 統合の名前。EXECUTION_ID: 一時停止された実行の ID。TASK_ID: 承認タスクの ID(停止のtaskId)。SUSPENSION_ID: 停止のnameの停止 ID。STATE: 解決状態。リクエストを承認するにはLIFTEDを使用し(isApprovedをtrueに設定)、拒否するにはREJECTEDを使用します(isApprovedをfalseに設定)。
エラー処理方法
タスクのエラー処理方法では、一時的なエラーによってタスクが失敗した場合のアクションを指定します。エラー処理方式と、さまざまな種類のエラー処理方式の詳細については、エラー処理方法をご覧ください。
割り当てと上限
割り当てと上限については、割り当てと上限をご覧ください。
次のステップ
- すべてのタスクとトリガーを確認する。
- インテグレーションをテストして公開する方法について学習する。
- エラー処理について学習する。
- 統合の実行ログについて学習する。