Cron & Scheduling

Jenkins cron · Hが選ぶ範囲を確認

Coreの式を生成・確認し、Hの候補範囲とPipeline断片を表示します。

Jenkins cron

式

入力はこのブラウザー内で処理され、サーバーには送信されません。

説明とPipeline断片

オプション

項目から作成

このフィールドは下書きです。適用するまで上の式は変わらず、貼り付けた入力が検証対象になります。

H/15 * * * *

分0〜59、時0〜23、日1〜31、月1〜12、曜日0〜7。数値リスト、範囲、*/間隔、範囲/間隔、Hに対応。単独数値/間隔は非対応です。

入力または設定が変更されました。結果を更新してからエクスポートしてください。

Jenkins cronで定期実行を設定するとき、Hを「毎回ランダム」と読んでしまうと時刻の見積もりが変わります。同じジョブでは安定した値を使いますが、この画面はその値を決めず、候補になる範囲を示します。

既存のcron式を貼り付けても、5つの欄から下書きを作っても同じ検証を通ります。ビルドトリガーを変更する前に、数値が確定している欄とジョブに依存する欄を読み分けてください。

Jenkins cronのHを確認する理由

15分刻みの起点を見分ける

Jenkins cronの*/15は0、15、30、45分です。H/15は0〜14分のどこかを起点に15ずつ進みます。候補全体を「毎分動く」とまとめず、起点と間隔を別々に示すため、ジョブ固有のずれを理解できます。

2本の時間軸で、基準位置に揃った4点と全体がずれた等間隔の4点を比較している。

指定した窓からはみ出さない

H(0-29)/10は毎時前半だけを対象にします。起点は0〜9分で、10ずつ進んでも29分を越えません。後半の時間帯まで動く設定ではないことを、候補範囲と上限の組み合わせから確認できます。

前半だけ色の付いた時間軸に3つの等間隔の点があり、後半には点がない。

下書きと適用済みの式を分けて扱う

01

置換内容を先に確認する

プリセットを選ぶと下の入力欄だけが変わります。プレビューで新旧の式と文字数を比較し、適用を押して初めて元の式を置き換えます。元に戻す操作では、入力と設定、結果が一緒に復元されます。

02

ジョブ名を計算のスイッチにしない

必要ならフォルダーを含むジョブのフルネームを記録できます。ただし名前はレポートのメモです。入力しても候補範囲が実時刻に変わることはなく、ハッシュを解決したという表示も出ません。

03

自動解析の切り替えを使う

変更後350ミリ秒で再解析します。自動を切ると手動ボタンが現れ、Ctrl/Cmd + Enterも使えます。入力や有効な設定を変えた直後は古い結果をコピーできないため、再解析を待ってください。

スケジュールを構成する条件を読む

数値フィールドを展開

分、時、日、月、曜日の順で、数値リスト、両端を含む範囲、範囲や星印への間隔指定を確認します。数値結果の曜日7は日曜の0へ統合しますが、コピーする式には元の書き方を残します。

Hをリスト項目ごとに説明

H(10-20)/4なら候補起点は10〜13です。起点により該当する値の数が違うので、常に3回とは表示しません。複数のHや固定値を混ぜたリストでも、各項目の条件を個別に保持します。

別名の既定動作を表示

@hourlyから@annuallyまで7つの別名に対応します。@monthlyは既定でH H H * *となり、日付もハッシュ対象です。@midnightはH H(0-2) * * *で、必ず0時ちょうどに実行する指定ではありません。

用途に応じたトリガー断片

cronで定期ビルド、pollSCMでソース変更の確認を指定します。式だけのコピーとtriggersブロックのコピーを分け、テキストレポートにはフィールドの説明とジョブのメモを含めます。

解釈の範囲と実行時の注意点

次回時刻は算出しない
Javaの乱数列、複数行で共有するハッシュ状態、Jenkinsのタイムゾーン設定を再現しません。ジョブ名が分かっていても、この画面で示すのは候補です。実際の予定は対象のJenkinsで確認してください。
1行のCore構文に限定
式は512、ジョブ名は1024UTF-16単位までです。秒、年、JANやMON、?、L、W、#、5/15、TZ=行、コメント、コマンド、Jenkinsfile全体には対応しません。大文字Hを使用してください。
日付と曜日は両方満たす
Jenkinsでは日付と曜日はAND条件です。2月31日のように文法が正しくても存在しない日はあります。日付欄の単独Hは1〜28ですが、明示範囲H(29-31)には短い月に存在しない日が含まれます。
H/1は毎分ではない
H/1はHと同じく1つの値を選びます。全値を指定するなら*/1を使います。日単位の間隔は月境界で不均一になり、複数ジョブの時刻が重なることもあります。この画面からジョブを登録・起動することはありません。

Jenkins cronについての質問

H/5は何を意味しますか?

分欄なら0〜4分から起点を選び、同じ時間内で5分ずつ進みます。H/5 3,21 * * 1-5では平日の3時台と21時台にそのパターンを使います。「5分間のどこかで1回」という意味ではありません。

Jenkinsでジョブを定期実行するには?

ジョブ設定の「定期的に実行」に式を設定するか、宣言的Pipeline内に生成したtriggersブロックを配置します。cronはソースの変更に関係なくビルドを要求します。設定が読み込まれ、実行環境が使えることも必要です。

タイムゾーンはどうなりますか?

指定しなければJenkinsコントローラーのタイムゾーンです。完全なトリガー設定ではJavaが扱えるIDをTZ=行に書けますが、このツールはその行を取り込みません。ブラウザーの時刻から予定を計算する機能もありません。

日と曜日を両方指定するとどうなりますか?

Jenkins Coreでは両方に一致する必要があります。たとえば0 9 13 * 5なら、13日かつ金曜日の9時という条件です。一般的なUnix cronのOR条件と混同せず、実際に該当日があるかは別途確認してください。

秒フィールドには対応していますか?

対応していません。Jenkins Coreの式は分から曜日までの5フィールドです。秒や年を足した6〜7フィールドはエラーになります。Quartzや拡張プラグインの構文をそのまま貼り付けないでください。

実行日時が予想と違いますか?

対象ジョブの設定で仕上げる

Jenkins cronの条件を確認したら、必要なトリガー断片を自分の設定にコピーしてください。特定の時計時刻を前提にする前に、コントローラー側の予定表示を確認します。

文法の検証はビルドの開始や成功を保証しません。