Forgejo・Gitea でワークフローを手で始められない
ワークフローを手で始めるのは、POST /api/v1/repos/{owner}/{repo}/actions/workflows/{ファイル名}/dispatches に、ブランチかタグを ref に入れて送ることです。サーバーは ref を探し、次にその ref でのワークフローのファイルを探します。Gitea はさらにファイルに workflow_dispatch があるか、Forgejo は必須の入力に値があるかを見ます。文は、どの段で止まったかを言います。状態の番号は、Forgejo が 400・403・404・423、Gitea が 403・404・422 です。
Gitea
最新の版 28.2.0(2026年10月18日)で確かめました(routers/api/v1/repo/action.go・services/actions/workflow.go)。
- 404
ref "v1.0" doesn't exist:その名前のブランチがありません。Gitea はrefs/の付かない名前をブランチとしてしか探さないので、タグはrefs/tags/v1.0の形で送ります。ブランチはmainでもrefs/heads/mainでも通ります。 - 404
workflow "deploy.yml" doesn't exist:ref の指すコミットのワークフローのフォルダに、その名前のファイルがありません。フォルダは.gitea/workflowsと.github/workflowsのうち、そのコミットにある最初の1つです。.gitea/workflowsがあると、.github/workflowsのファイルは読まれません(workflows.go。並びは設定のWORKFLOW_DIRS・actions.go)。 - 422
workflow "deploy.yml" has no workflow_dispatch event trigger:その ref のファイルのon:にworkflow_dispatchがありません。ファイルは始める ref で読むので、別のブランチで足しただけでは、マージするまで効きません。 - 422
invalid workflow "deploy.yml": ...:ファイルを読み取れません。後ろは読み取りのエラーです。 - 422
ref is required parameter:ref を送っていません。 - 403
workflow is disabled:リポジトリの Actions のページで、誰かがこのワークフローを無効にしています。そこで有効に戻します。 - 403
user should have a permission to write to a repo:このアカウントは、このリポジトリの Actions に書き込めません。この住所は Actions への書き込み権限を求めます(api.go)。
Gitea は API では入力の不足で断りません。送らなかった入力は既定の値になるか、空のままです。
Forgejo
ソースから(routers/api/v1/repo/action.go・services/actions/workflows.go)。
- 400
could not expand reference 'v1.0':その名前のタグもブランチもコミットもありません。Forgejo は名前だけを受け取ると、タグ・ブランチ・コミットの順に探します。なので、タグとブランチが同じ名前ならタグになります。ブランチにしたいときはheads/mainかrefs/heads/mainと送ります(repo_ref.go)。 - 400
reference 'refs/heads/release' does not exist:refs/から始まる名前を送り、その先に何もありません。 - 404
workflow not found:その ref のワークフローのフォルダに、その名前のファイルがありません。フォルダは.forgejo/workflows・.gitea/workflows・.github/workflowsのうち、ある最初の1つです(workflows.go)。 - 400
input required for 'Environment':既定の値の無い必須の入力が空です。名前は入力の説明(description)で、無ければ入力の名前です。 - 400
ref is empty:ref を送っていません。 - 403
user should have a permission to write to a repo:このアカウントは、このリポジトリの Actions に書き込めません。この住所はトークンと Actions への書き込み権限を求めます(api.go・req_repo_writer.go)。 - 423、
is archivedで終わる文:リポジトリがアーカイブされています(must_not_be_archived.go)。
通ったとき
どちらも、本文の無い 204 を返します。Forgejo は送る中身に "return_run_info": true を入れると、実行(id・run_number・jobs)と 201 を返します。Gitea は住所の最後に ?return_run_details=true を付けると、workflow_run_id と html_url と 200 を返します。
IntelliJ IDEA で Forgejo・Gitea の Actions を見るなら
Pipeline Inbox for Forgejo and Gitea は、Lesstep が作っている JetBrains IDE(2024.1 以降)のプラグインです。ワークフローを実行では、選んだブランチかタグで workflow_dispatch のあるワークフローだけを、サーバーと同じフォルダから読んで並べ、ファイルが宣言する入力ごとに欄を出します。サーバーが断ったときは、画面を開いたまま、サーバーの文を出します。実行・ジョブ・ログは無料、やり直し・取り消し・ワークフローの開始は Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。
Forgejo・Gitea・Codeberg はそれぞれの持ち主の名前、IntelliJ IDEA は JetBrains s.r.o. の商標です。このページは Forgejo プロジェクト・Codeberg e.V.・Gitea プロジェクト・JetBrains のいずれとも提携しておらず、承認も受けていません。
ほかに:「No matching online runner with label」 · Gitea の Actions の API の「token is required」 · ジョブのログの期限切れ · IntelliJ IDEA・PyCharm で Forgejo・Gitea の Actions を見る方法の比較 · English