Lesstep
Forgejo・Gitea・Codeberg・ブランチの保護・ステータスチェック・2026年10月28日に確認

Forgejo・Gitea で必須のチェックが通らない理由

対象のブランチの保護のルールで Enable status check がオンのとき、Forgejo と Gitea は、プルリクの先頭のコミットで必須のチェックが通ったときだけマージします。それまでマージの欄には Some required checks were not successful. か Some required checks are missing. と出て、API のマージは 405 Not all required status checks successful で断られます(マージが断られた理由)。両方のソース(services/pull/commit_status.go の MergeRequiredContextsCommitStatus と、Forgejo のマージの欄 templates/repo/issue/view_content/pull.tmpl。Gitea にも同じ文があります)から、サーバーの決め方をまとめます。

2つの文

リポジトリの管理者には As an administrator, you may still merge this pull request. と出て、ルールが管理者にも効く設定でなければ、そのままマージできます。

サーバーの読み方

skipped と warning

Actions がチェックに付ける名前

Forgejo Actions と Gitea Actions は、ジョブごとに ワークフロー / ジョブ (イベント) の名前で報告します。ワークフローの名前、ジョブの名前、実行を始めたイベントで、たとえば ci / test (pull_request) です。ワークフローに name: が無いと、Gitea はファイル名(ci.yml など)を使います。ここから3つのことが起きます。

Gitea 1.27 以降には、持ち主かインスタンスの管理者が多くのリポジトリにまとめて掛ける必須のワークフローがあります。そのチェックの名前は 元: ワークフロー / ジョブ (イベント)(元はワークフローのあるリポジトリ)で、保護のルールがあるブランチなら、そのルールのステータスチェックがオフでもマージを止めます。ブランチの API の status_check_contexts には出ません。

直し方

サーバーが読んでいるものを自分で読むには:

curl -H "Authorization: token your-token" https://codeberg.org/api/v1/repos/OWNER/REPO/commits/HEAD-SHA/status
curl -H "Authorization: token your-token" https://codeberg.org/api/v1/repos/OWNER/REPO/branches/main

1つ目は名前ごとの最新のステータス(statuses、それぞれに context と status)、2つ目はブランチに効いているルール(enable_status_check と status_check_contexts)です。codeberg.org はお使いのサーバーに置き換えてください。設定そのものは Forgejo の文書と Gitea の文書にあります(英語)。

IntelliJ IDEA で Forgejo・Gitea のプルリクを見るなら

Lesstep の Pull Request Inbox for Forgejo and Gitea は、JetBrains IDE(2024.1 以降)のプラグインです。対象のブランチのルール(enable_status_check と status_check_contexts)と先頭のコミットのステータスから、必須のチェックをマージの条件の1つとして見せ、ステータスを1つずつそのページへのリンクつきで並べます。必須のチェックはサーバーと同じに読みます。skipped は合格・warning は不合格、パターンは glob として({a,b}・[abc]・[!a-z])、パターンが無くステータスが全部 skipped のときは Forgejo か Gitea かに合わせます。最後に決めるのはサーバーです。1.0.22 より前は、skipped のチェックを合格に数えず、パターンは * と ? しか読みませんでした。Gitea 1.27 の必須のワークフローは API に出ないので、見えません。読むのは無料、承認・コメント・マージは Pro(月 US$1.50・30日間の無料試用つき)です。画面は日本語です。

このページは Forgejo プロジェクト・Codeberg e.V.・Gitea プロジェクト・JetBrains のいずれとも提携しておらず、推奨・承認も受けていません。Forgejo・Gitea・Codeberg はそれぞれの持ち主の名前、IntelliJ IDEA は JetBrains s.r.o. の商標です。

ほかに:Forgejo・Gitea のマージの断り(405・409) · Forgejo・Gitea のチェックが合格したらマージの断り(405・409・500) · Forgejo・Gitea のレビューの断り(422) · Forgejo・Gitea のブランチの更新の断り(403・409・422) · Forgejo・Gitea の 404:無いのか・非公開か・名前が変わったか · 401「token is required」と知らないトークン · 「token does not have at least one of required scope(s)」 · Forgejo・Gitea のプルリクが作れない(409・422・403) · Forgejo・Gitea のコメントの断り(403・422・400) · Forgejo・Gitea の検索の断り(400・422) · Forgejo・Gitea のプルリクの変更ファイル(50件ずつ・changed_files) · JetBrains の IDE で Forgejo・Gitea のプルリクを扱う · English