再起動

再起動したジョブがどのように検証されるか

  1. 2 種類の再起動
  2. それぞれのチェック方法
  3. password フィールド
  4. 再起動できるユーザー

ジョブを再起動する方法は 2 つあります。再起動がどのようにチェックされるかは、どちらの方法かと、起動時の検証の モードによって決まります。


2 種類の再起動

2 つの違いは、呼び出し元が新しい値を送信するかどうかです。

  • 実行時のまま: 再起動ボタン、本文なしの POST /api/v2/job/{id}/relaunch、または values なしの relaunch_job です。
  • 変更あり: 同じ呼び出しに新しい値を付けたもので、ジョブに保存されたフィールドの値の上に重ねられます。
curl -X POST https://af.example.com/api/v2/job/42/relaunch \
  -H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
  -d '{ "values": { "vm_size": "large" } }'

それぞれのチェック方法

再起動を再生するか、再度チェックするかは、起動時の検証のモードで決まります。

再起動 off / log enforce
実行時のまま ジョブに保存された extravars をパスワードも含めて再生します 保存されたフィールドの値から完全にチェックします
変更あり 保存された値に変更を重ねたものを完全にチェックします 同じように完全にチェックします

enforce での例外が 1 つあります。管理者レベルのスケジュールで起動されたジョブには独自のフィールドの値がないため、それを実行時のまま再起動すると、 管理者または allowScheduledJobs ロールオプションを持つユーザーの場合、スケジュールに保存された extravars が再生されます。

チェックされた再起動 ( log と enforce を参照) は、呼び出し元の名前で新しいジョブを開始します。


password フィールド

保存されたフィールドの値にはパスワードが含まれないため、チェックされた再起動では、 表示されている password フィールド の値がありません。

  • 再起動は unsupported として拒否され、不足している passwordFields が示されます。
  • フォームを再度起動して、パスワードを入力してください。
  • フォームの依存関係によって 非表示 になっている password フィールドは不要で、再起動を妨げません。

enforce では、これは再起動ボタンにも当てはまります。


再起動できるユーザー

どちらの再起動にも、次の条件が必要です。

  • フォームが再起動を許可していること ( allowRelaunch、既定は true )
  • allowJobRelaunch ロールオプション
  • ユーザーが ジョブの所有者、管理者、または manageAllJobs ロールオプションを持つユーザーであること

すべてのジョブを表示できる ( showAllJobLogs ) だけでは、ほかのユーザーのジョブを再起動できません。承認者は自分の承認を待っているジョブを 表示できますが、それを再起動することもできません。