再起動
再起動したジョブがどのように検証されるか
ジョブを再起動する方法は 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 ) だけでは、ほかのユーザーのジョブを再起動できません。承認者は自分の承認を待っているジョブを 表示できますが、それを再起動することもできません。