Lesstep
GitLab・CI/CD パイプライン・パイプラインとジョブの API・2026年10月24日に確認

GitLab がパイプラインやジョブを断った理由

API で新しいパイプラインを始めるとき(POST /projects/:id/pipeline)、そのプロジェクトでパイプラインを作ること自体があなたのアカウントに許されていなければ 403、それ以外の理由なら 400 で、理由は message.base に入ります。ジョブの再実行・取り消し・実行は、それぞれ別の答え方をします。以下はすべて GitLab のソース(lib/api/ci/pipelines.rb・lib/api/ci/jobs.rb・パイプラインを作る手順)を 2026年10月24日に読んで確かめたものです:

HTTP/1.1 400 Bad Request

{"message":{"base":["Reference not found"]}}

新しいパイプライン:400

GitLab が確かめる順に:

画面では、rules の 2 つの文に説明へのリンクが付きます。API では、ただの文として届きます。

新しいパイプライン:403

{"message":"403 Forbidden"}:プロジェクトでのあなたの役割では、パイプラインを作れません。api の権限が無いトークンも 403 で断られますが、そのときの答えには insufficient_scope と書いてあります。足す権限の見つけ方へ。

ジョブの再実行・取り消し・実行

直し方

IntelliJ IDEA で GitLab のパイプラインを見るなら

Lesstep の Pipeline Inbox for GitLab CI は、JetBrains IDE(2024.1 以降)のプラグインです。GitLab のプロジェクトのパイプラインをジョブとログといっしょに一覧にし、Pro では再実行・取り消し・実行ができます。ジョブの一覧では、GitLab ができると言うところにだけ再実行と実行を出します。GitLab が新しいパイプラインを始めないときは、上の rules の文のような GitLab の理由を出したまま、ダイアログを閉じません。ほかの操作を断られたときは、GitLab の文を添えてそう言います。403 なら、役割か保護されたブランチの設定(1.0.21 からは保護された環境も)が許していない可能性がある、と。1.0.21 からは、GitLab があなたのアカウントに実行を認めていない手動ジョブでは実行を押せなくします。回数の上限なら、1 分待つように、と(1.0.21 からは、GitLab がそれより長く待つように言うときは、また使える時刻を)。1.0.15 からは、403 の「Job is not retryable」では代わりに、GitLab がそのジョブをもう一度実行しないことと、更新して最新の実行を見るように言います。見るのは無料、再実行・取り消し・実行は Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。

GITLAB は GitLab Inc. の商標、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは GitLab Inc.・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:GitLab の「Insufficient permissions to set pipeline variables」 · GitLab のジョブのログの断り(403・404) · GitLab のジョブが詰まった・時間切れで落とされた · GitLab の「You are not authorized to run this manual job」 · GitLab のパイプラインがジョブ0件で失敗 · GitLab の「insufficient_scope」 · GitLab の 401「invalid_token」 · GitLab の 404「Project Not Found」 · GitLab の 404「Group Not Found」 · JetBrains の IDE で GitLab のパイプラインを見る · English