Lesstep
Jenkins 2.580.1・ビルドの待ち行列・2026年10月28日に確認

Jenkins の「Waiting for next available executor」と、ビルドが待ち行列から出ないほかの理由

始めたビルドは、まず Jenkins のビルドの待ち行列(Build Queue)に入り、それを動かしてよいエグゼキューター(実行枠)が空いたときに出ていきます。待っている間、Jenkins は理由を1行で持っています。この1行は見た目より細かく、どのエグゼキューターでもよいのを待っているのか、特定のノードか、ラベルの付いたノードか、エージェントがつながるのか、自分の前のビルドか、Jenkins のシャットダウンの取り消しかを言い分けています。

理由が見える場所

ダッシュボードの Build Queue の欄に待っているジョブが並び、ジョブ名にマウスを乗せると「Started by user …」・理由・待っている時間(「Waiting for 43 sec」)が出ます。REST API では同じ1行が why で、待っているビルドごとに1つです。手元の Jenkins 2.580.1 で、2026年10月28日に:

curl -s -g -u 'your-user-id:your-api-token' \
  'https://jenkins.example.com/queue/api/json?tree=items[id,why,stuck,blocked,task[name]]'

{"items":[
 {"id":5,"blocked":true,"stuck":false,"task":{"name":"slow"},"why":"Build #1 is already in progress (ETA: N/A)"},
 {"id":3,"blocked":false,"stuck":true,"task":{"name":"on-windows"},"why":"‘agent1’ is offline"},
 {"id":2,"blocked":false,"stuck":true,"task":{"name":"on-linux"},"why":"There are no nodes with the label ‘linux’"},
 {"id":1,"blocked":false,"stuck":false,"task":{"name":"hello"},"why":"Waiting for next available executor on ‘Built-In Node’"}]}

-g が要ります。無いと curl が角かっこを自分の書式として読み、Jenkins に何も聞かずに「URL malformed」(終了コード 3)で止まります。API で始めたビルドには自分の住所があり、201 の答えの Location ヘッダー(/queue/item/1/)です。待っている間は /queue/item/1/api/json にも同じ why があります。

Accept-Language: ja で聞くと、同じ4件はこう返りました:

ビルド #1 は既に実行中です。 (予定時間: N/A)
agent1 はオフラインです。
There are no nodes with the label ‘linux’
masterで利用可能な次のエグゼキューターを待っています。

ラベルの行は訳が無く英語のまま、組み込みノード(Built-In Node)は日本語の訳では古い呼び名の「master」のままでした。

それぞれの意味

curl -s -g -u 'your-user-id:your-api-token' \
  'https://jenkins.example.com/computer/api/json?tree=computer[displayName,offline,numExecutors,idle]'

{"computer":[
 {"displayName":"Built-In Node","idle":false,"numExecutors":1,"offline":false},
 {"displayName":"agent1","idle":true,"numExecutors":1,"offline":true},
 {"displayName":"agent2","idle":true,"numExecutors":1,"offline":true}]}

(Accept-Language: en のとき。ヘッダーなしで日本語の Jenkins に聞くと、組み込みノードの displayName は「master」でした。)

Jenkins は理由を、リクエストが求める言語(Accept-Language)で書き、無ければサーバー自身の言語で書きます。日本語の Windows で動かした手元の Jenkins は、そのヘッダーの無い curl に日本語で答えました。

IntelliJ IDEA など JetBrains IDE で Jenkins のビルドを見るなら

Pipeline Inbox for Jenkins は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。IDE から始めたビルドを最大1分、待ち行列の中まで追いかけ、始まったら一覧で選びます。1.0.12 からは、それまでに Jenkins が始めなかったとき、知らせに Jenkins の理由を添えます。たとえば「nightly:ビルドは Jenkins の待ち行列で待っています。Jenkins の理由:There are no nodes with the label ‘linux’」。理由は IDE の言語で Jenkins に聞きます。ビルドの一覧・Pipeline の段・失敗したテスト・コンソールのログは無料、ビルドの開始(パラメーターの有無を問わず)・再ビルド・中止・入力ステップは Pro(月 US$1.50・30日間の試用つき)です。

Jenkins® は LF Charities Inc. の登録商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Jenkins プロジェクト・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「Nothing is submitted」 · 待っている間エグゼキューターを握る input ステップ · 「401 Unauthorized」 · IntelliJ IDEA で使える Jenkins のプラグインの比較 · English