エラーの詳細を取得/通知
1704 views
この記事では、「エラー時に実行するワークフロー」として実行されたワークフロー内にて、エラー元ワークフローの詳細情報を取得する方法を紹介します。
【できるようになること】
- エラーオブジェクト(エラーの詳細)の取得
- エラー詳細をSlackに通知
エラー情報を利用する場面
AUTOROの運用に役立てることが可能です。
取得したエラー情報には、エラーの発生したワークフロー名や時刻(UTC)が含まれます。これらの情報をSlackやChatworkで通知したり、エラーログとしてスプレッドシートに残すことが可能になります。
エラーオブジェクト
- 起動先ワークフローにて
${error}
と記述すると、以下の内容が取得されます。
{
"workflow": {
"name": "some workflow", // エラーが発生したワークフローの名前
"id": 123, // エラーが発生したワークフローのID
},
"message": "Error: something went wrong.", // エラーメッセージ
"task_name": "+open_browser_1", // エラーが発生したタスクの名前
"session_time": "2020-01-14T12:09:00+09:00", // エラーが発生したセッションの開始時刻
"session_queue_id": 111, // エラーが発生したセッションのID
"session_url": "https://console.autoro.io/projects/1/workflows/23/attempts/365", // セッション詳細(ログ)画面のURL
}
ワークフローの設定例
下記手順にてワークフローを設定します。
通知メッセージの本文にエラー内容を組み込みます。
- Textアクションを設置します。
- 任意の通知文を書き込みます。
- ${error}に格納された情報を本文内に反映する構文を書き込みます。
ワークフロー名:${error.workflow.name}
ワークフローID:${error.workflow.id}
エラーメッセージ:${error.message}
エラー発生時刻:${error.session_time}
セッションログURL:${error.session_url}
Slackにメッセージを送信する方法については、こちらもご覧ください。
- SlackSendMessageを設置します
- メッセージ内容(Textパラメータ)に、先程作成したTextアクションのアウトプットを指定します。
- 任意のプロバイダID,チャンネル名を指定します
- 「ワークフローの編集」をクリックします。
- 「エラー時に実行するワークフロー」をクリックし、上の手順で作成したワークフローを選択します。
- 「更新」をクリックします。
Try(エラーを捕捉する)の範囲外に、Kill_Atempt(強制終了)を設置すると、そのワークフローをエラー終了扱いにできます。
# テキストを作成 +text_1: action>: Text text: "以下のワークフローでエラーが発生しました。\n\nワークフロー名:${error.workflow.name}\nワークフローID:${error.workflow.id}\nエラーメッセージ:${error.message}\nエラー発生時刻:${error.session_time}\nセッションログURL:${error.session_url}" # Slackでメッセージを送信 +send_slack_message_1: action>: SendSlackMessage provider: '' channel: '' text: +text_1 send_select: false response_message: false meta: display:
[参考記事]
<エラーの詳細>エラーの詳細を取得/通知
このページは役に立ちましたか?
サイトを見て解決しない場合はAUTOROにログインし、チャットよりお問い合わせください。