Jobの実行

この演習では、Jobの実行方法を学びます。

GUIから実行#

  1. RBAにログインし、Projectを開きます。画面左のJOBSアイコンをクリックします。 Image

  2. 実行するJobの左側にある再生アイコンをクリックします。 Image

  3. dateに日付を入力します。カレンダーアイコンをクリックすると、日付の選択画面が表示されます。
    messageにはデフォルト値(Hello World)が入力されていますが、変更しても構いません。 Image

  4. NodesのChange the Target Nodesにチェックを入れると、対象のNodesを変更できます。Run Job Nowボタンをクリックしてください。 Image

  5. 実行結果の表示画面です。Nodes Viewでは、各ノードが実行したNodeステップを確認できます。 Image

  6. Log Outputのリンクをクリック(またはViewプルダウンメニューからLog Outputを選択)すると、Workflowステップも含めた実行ログが確認できます。 Image

  7. Run Againのリンクをクリックすると、Job実行画面が開きます。Run Job Nowのプルダウンメニューから、Debugログの出力を有効にすることもできます。有効にすると詳細なログがLog Outputに出力されるため、トラブルシューティングで原因を調査する際に利用できます。 Image

スケジュールで定期実行#

スケジュールを作成して定期的に実行することもできます。Jobの編集画面(Scheduleタブ)から、Job固有のスケジュールを設定する方法と、Project内でスケジュールを作成して、複数のJobを一括してスケジュール実行することもできます。ここでは後者のProject Scheduleを試してみます。

参考: Project Schedules

  1. RBAにログインし、Projectを開きます。画面左のSCHEDULESアイコンをクリックし、+New Scheduleボタンをクリックします。 Image

  2. 平日の朝9時に実行する場合は、以下のように設定します。 Image

  3. Crontabを利用すると、より詳細な設定が可能です。 Image

設定例 - 参考: Cron reference

  1. ここでは平日朝9時に設定し、Time ZoneをJST(日本時間)にして保存します。Saveをクリックしてください。 Image

  2. 作成したスケジュールに実行対象のJobを紐づけます。Actionsプルダウンメニューから +Assign to Job を選択します。 Image

  3. Available Jobs欄から、スケジュールに紐づけるJobをクリックして選択し、Saveボタンを押します。 Image

  4. Jobの実行スケジュールはDASHBOARDならびにJOBSから確認できます。 Image
    Image

Calendar機能

Calendar機能を利用すると、System全体またはProject単位でスケジュールされたJobの実行可否を制御できます。Calendar機能はスケジュール実行されるJobのみに適用され、その他の手動実行等のJobには適用されません。

参考: Calendars

  1. ProjectレベルのCalendarはプロジェクトの左メニューから設定できます。
    月-金に実行されるスケジュールに、日本の祝日をBlackoutに追加するCalendarを組み合わせると、土日に加えて祝日の実行も抑止することが可能です。 Image

Webhookをトリガーに実行#

RBAでWebhookを受信するためのURLを発行し、受信したWebhookをトリガーにJobを実行することができます。
Slack等の外部システムと連携してJobを実行するのに利用できる他、RBAのJobから異なるOptionsの値を含むWebhookを複数回送信し、他のJobを繰り返し実行することも可能です。

参考: Webhooks

  1. プロジェクト画面から左メニューのWEBHOOKSを開き、+Create Webhook ボタンをクリック Image

  2. NameにWebhookの名称、UserにJobを実行するユーザー名を入力します。 Image

  3. Handler Configurationタブを開き、Choose Webhook Pluginドロップダウンメニューから Advanced Run Job を選択 Image

  4. Actionsタブ内で、Webhookに含まれるデータとOptionsを紐づけます。

    • date: $.payload.date
    • message : $.payload.message Image
  5. Saveをクリックして、表示されたURLとHTTP Authorization Stringをメモ帳などにコピーします。

  6. Webhookを送信して、Jobが起動できるか確認します。Linux/Macの場合は、以下のcurlコマンドで実行できます。
    Your-Webhook-URL Your-Authorization-String の部分は、上記でコピーしたURLとAuthorization Stringに置き換えてください。

    curl --request POST \
      --url 'https://Your-Webhook-URL' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --header 'Authorization: Your-Authorization-String' \
      --data '{
      "payload": {
        "date": "2024-12-31",
        "message": "Triggered by a webhook"
      }
    }'
    

次はPagerDutyから手動でJobを起動する方法を学びます。