Lesstep
Jenkins 2.580.1・リモート API・2026年10月24日に確認

Jenkins:「HTTP ERROR 400 Nothing is submitted」/「This page expects a form submission」

そのジョブにはパラメーターがあるので、/build の住所はジョブの Web ページが送るフォームを待っており、ただの POST は受け付けません。Jenkins は HTTP 400 で断ります。/buildWithParameters へ送り、パラメーターはクエリかフォームの項目で付けます。省いたパラメーターは既定値になります。

答えの全体

2026年10月24日に、API トークンでサインインして、文字列のパラメーターが1つあるジョブへ送ったときの Jenkins 2.580.1 の答え:

curl -X POST -u '<ユーザー>:<API トークン>' 'https://jenkins.example.com/job/<ジョブ>/build'

HTTP 400
HTTP ERROR 400 Nothing is submitted
URI:/job/<ジョブ>/build
STATUS:400
MESSAGE:Nothing is submitted
SERVLET:Stapler

buildWithParameters で起動する

curl -X POST -u '<ユーザー>:<API トークン>' \
  'https://jenkins.example.com/job/<ジョブ>/buildWithParameters?GREETING=hi'

HTTP 201
Location: https://jenkins.example.com/queue/item/<n>/

Jenkins CLI なら、-p でパラメーターを渡し、-s でビルドの終わりを待ち、-v でコンソールを表示します:

java -jar jenkins-cli.jar -s https://jenkins.example.com/ -http -auth @auth.txt \
  build <ジョブ> -p GREETING=hi -s -v

auth.txt の中身は <ユーザー>:<API トークン> です。

逆向き:「… is not parameterized」

パラメーターの無いジョブに /buildWithParameters を送ると HTTP 400 「<ジョブ> is not parameterized」、CLI では「ERROR: <ジョブ> is not parameterized but the -p option was specified.」でした。そのジョブは /build で起動します。多くのジョブを起動するスクリプトなら、先に /job/<ジョブ>/api/json を読みます。パラメーターのあるジョブは、property の ParametersDefinitionProperty にそれが並びます。

IntelliJ IDEA からパラメーター付きでビルドするなら

Pipeline Inbox for Jenkins は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。パラメーターのあるジョブは buildWithParameters で、無いジョブは /build で起動します。ビルドの画面にはパラメーターごとの欄(文字・選択・チェック・パスワード)があり、既定値が入っていて、値をジョブごとに覚えておけます(パスワードは覚えません)。再ビルドは同じパラメーターでもう一度動かします。ビルド・再ビルド・中止・入力ステップは Pro(月 US$1.50・30日間の無料試用つき)、ビルドの一覧とコンソールのログは無料です。画面は日本語です。

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

ほかに:「Waiting for next available executor」 · IntelliJ IDEA で使える Jenkins のプラグインの比較 · English