正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

REST APIのリソース

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab REST APIを使用すると、GitLabリソースをプログラムで制御できます。既存のツールとのインテグレーションを構築し、反復タスクを自動化し、カスタムレポートのデータを抽出します。Webインターフェースを使用せずに、プロジェクト、グループ、イシュー、マージリクエストにアクセスして操作します。

REST APIを使用して以下の操作を行います。

  • プロジェクトの作成とユーザー管理を自動化する。
  • 外部システムからCI/CDパイプラインをトリガーする。
  • カスタムダッシュボード用にイシューとマージリクエストのデータを抽出する。
  • GitLabをサードパーティアプリケーションと連携させる。
  • 複数のリポジトリにわたるカスタムワークフローを実装する。

REST APIリソースは次のように編成されています。

プロジェクトリソース

以下のAPIリソースは、プロジェクトのコンテキストで使用できます。

リソース利用可能なエンドポイント
アクセスリクエスト/projects/:id/access_requests(グループでも利用可能)
アクセストークン/projects/:id/access_tokens(グループでも利用可能)
エージェント/projects/:id/cluster_agents
ブランチ/projects/:id/repository/branches//projects/:id/repository/merged_branches
コミット/projects/:id/repository/commits/projects/:id/statuses
コンテナレジストリ/projects/:id/registry/repositories
コンテナリポジトリ保護ルール/projects/:id/registry/protection/repository/rules
カスタム属性/projects/:id/custom_attributes(グループおよびユーザーでも利用可能)
[Composerディストリビューション](packages/composer.md)/projects/:id/packages/composer(グループでも利用可能)
Conan v1ディストリビューション/projects/:id/packages/conan(スタンドアロンでも利用可能)
Conan v2ディストリビューション/projects/:id/packages/conan(スタンドアロンでも利用可能)
Debianディストリビューション/projects/:id/debian_distributions(グループでも利用可能)
Debianパッケージ/projects/:id/packages/debian(グループでも利用可能)
依存関係/projects/:id/dependencies
デプロイキー/projects/:id/deploy_keys(スタンドアロンでも利用可能)
デプロイトークン/projects/:id/deploy_tokens(グループおよびスタンドアロンでも利用可能)
デプロイ/projects/:id/deployments
ディスカッション(スレッド形式のコメント)/projects/:id/issues/.../discussions/projects/:id/snippets/.../discussions/projects/:id/merge_requests/.../discussions/projects/:id/commits/.../discussions(グループでも利用可能)
ドラフトノート(コメント)/projects/:id/merge_requests/.../draft_notes
絵文字リアクション/projects/:id/issues/.../award_emoji/projects/:id/merge_requests/.../award_emoji/projects/:id/snippets/.../award_emoji
環境/projects/:id/environments
エラートラッキング/projects/:id/error_tracking/settings
イベント/projects/:id/events(ユーザーおよびスタンドアロンでも利用可能)
外部ステータスチェック/projects/:id/external_status_checks
機能フラグのユーザーリスト/projects/:id/feature_flags_user_lists
機能フラグ/projects/:id/feature_flags
フリーズ期間/projects/:id/freeze_periods
Go Proxy/projects/:id/packages/go
Helmリポジトリ/projects/:id/packages/helm_repository
インテグレーション(旧称「サービス」)/projects/:id/integrations
招待/projects/:id/invitations(グループでも利用可能)
イシューボード/projects/:id/boards
イシューリンク/projects/:id/issues/.../links
イシュー統計/projects/:id/issues_statistics(グループおよびスタンドアロンでも利用可能)
イシュー/projects/:id/issues(グループおよびスタンドアロンでも利用可能)
イテレーション/projects/:id/iterations(グループでも利用可能)
プロジェクトCI/CDジョブトークンスコープ/projects/:id/job_token_scope
ジョブ/projects/:id/jobs/projects/:id/pipelines/.../jobs
ジョブアーティファクト/projects/:id/jobs/:job_id/artifacts
ラベル/projects/:id/labels
Mavenリポジトリ/projects/:id/packages/maven(グループおよびスタンドアロンでも利用可能)
メンバー/projects/:id/members(グループでも利用可能)
マージリクエスト承認/projects/:id/approvals/projects/:id/merge_requests/.../approvals
マージリクエスト/projects/:id/merge_requests(グループおよびスタンドアロンでも利用可能)
マージトレイン/projects/:id/merge_trains
メタデータ/metadata
モデルレジストリ/projects/:id/packages/ml_models/
ノート(コメント)/projects/:id/issues/.../notes/projects/:id/snippets/.../notes/projects/:id/merge_requests/.../notes(グループでも利用可能)
通知設定/projects/:id/notification_settings(グループおよびスタンドアロンでも利用可能)
NPMリポジトリ/projects/:id/packages/npm
NuGetパッケージ/projects/:id/packages/nuget(グループでも利用可能)
パッケージ/projects/:id/packages
Pagesドメイン/projects/:id/pages/domains(スタンドアロンでも利用可能)
Pagesの設定/projects/:id/pages
パイプラインスケジュール/projects/:id/pipeline_schedules
パイプライントリガー/projects/:id/triggers
パイプライン/projects/:id/pipelines
プロジェクトバッジ/projects/:id/badges
プロジェクトクラスター/projects/:id/clusters
プロジェクトのインポート/エクスポート/projects/:id/export/projects/import/projects/:id/import
プロジェクトマイルストーン/projects/:id/milestones
プロジェクトスニペット/projects/:id/snippets
プロジェクトテンプレート/projects/:id/templates
プロジェクトの脆弱性/projects/:id/vulnerabilities
プロジェクトWiki/projects/:id/wikis
プロジェクトレベルの変数/projects/:id/variables
プロジェクト(Webhookの設定を含む)/projects/projects/:id/hooks(ユーザーでも利用可能)
保護ブランチ/projects/:id/protected_branches
保護されたコンテナレジストリ/projects/:id/registry/protection/rules
保護環境/projects/:id/protected_environments
保護パッケージ/projects/:id/packages/protection/rules
保護タグ/projects/:id/protected_tags
PyPIパッケージ/projects/:id/packages/pypi(グループでも利用可能)
リリースリンク/projects/:id/releases/.../assets/links
リリース/projects/:id/releases
リモートミラー/projects/:id/remote_mirrors
リポジトリ/projects/:id/repository
リポジトリファイル/projects/:id/repository/files
リポジトリサブモジュール/projects/:id/repository/submodules
リソースラベルイベント/projects/:id/issues/.../resource_label_events/projects/:id/merge_requests/.../resource_label_events(グループでも利用可能)
Ruby gem/projects/:id/packages/rubygems
Runner/projects/:id/runners(スタンドアロンでも利用可能)
検索/projects/:id/search(グループおよびスタンドアロンでも利用可能)
タグ/projects/:id/repository/tags
Terraformモジュール/projects/:id/packages/terraform/modules(スタンドアロンでも利用可能)
.gitlab-ci.ymlファイルを検証/projects/:id/ci/lint
脆弱性/vulnerabilities/:id
脆弱性エクスポート/projects/:id/vulnerability_exports
脆弱性検出結果/projects/:id/vulnerability_findings

グループリソース

以下のAPIリソースは、グループのコンテキストで使用できます。

リソース利用可能なエンドポイント
アクセスリクエスト/groups/:id/access_requests/(プロジェクトでも利用可能)
アクセストークン/groups/:id/access_tokens(プロジェクトでも利用可能)
カスタム属性/groups/:id/custom_attributes(プロジェクトおよびユーザーでも利用可能)
Debianディストリビューション/groups/:id/-/packages/debian(プロジェクトでも利用可能)
デプロイトークン/groups/:id/deploy_tokens(プロジェクトおよびスタンドアロンでも利用可能)
ディスカッション(コメントとスレッド)/groups/:id/epics/.../discussions(プロジェクトでも利用可能)
エピックイシュー/groups/:id/epics/.../issues
エピックリンク/groups/:id/epics/.../epics
エピック/groups/:id/epics
グループ/groups/groups/.../subgroups
グループバッジ/groups/:id/badges
グループイシューボード/groups/:id/boards
グループイテレーション/groups/:id/iterations(プロジェクトでも利用可能)
グループラベル/groups/:id/labels
グループレベルの変数/groups/:id/variables
グループマイルストーン/groups/:id/milestones
グループリリース/groups/:id/releases
グループSSH証明書/groups/:id/ssh_certificates
グループWiki/groups/:id/wikis
招待/groups/:id/invitations(プロジェクトでも利用可能)
イシュー/groups/:id/issues(プロジェクトおよびスタンドアロンでも利用可能)
イシュー統計/groups/:id/issues_statistics(プロジェクトおよびスタンドアロンでも利用可能)
リンクされたエピック/groups/:id/epics/.../related_epics
メンバーロール/groups/:id/member_roles
メンバー/groups/:id/members(プロジェクトでも利用可能)
マージリクエスト/groups/:id/merge_requests(プロジェクトおよびスタンドアロンでも利用可能)
ノート(コメント)/groups/:id/epics/.../notes(プロジェクトでも利用可能)
通知設定/groups/:id/notification_settings(プロジェクトおよびスタンドアロンでも利用可能)
リソースラベルイベント/groups/:id/epics/.../resource_label_events(プロジェクトでも利用可能)
検索/groups/:id/search(プロジェクトおよびスタンドアロンでも利用可能)

スタンドアロンリソース

以下のAPIリソースは、プロジェクトおよびグループのコンテキストの外部で使用できます(/usersを含む)。

リソース利用可能なエンドポイント
外観/application/appearance
アプリケーション/applications
監査イベント/audit_events
アバター/avatar
ブロードキャストメッセージ/broadcast_messages
コードスニペット/snippets
コード提案/code_suggestions
カスタム属性/users/:id/custom_attributes(グループおよびプロジェクトでも利用可能)
依存関係リストのエクスポート/pipelines/:id/dependency_list_exports/projects/:id/dependency_list_exports/groups/:id/dependency_list_exports/security/dependency_list_exports/:id/security/dependency_list_exports/:id/download
デプロイキー/deploy_keys(プロジェクトでも利用可能)
デプロイトークン/deploy_tokens(プロジェクトおよびグループでも利用可能)
イベント/events/users/:id/events(プロジェクトでも利用可能)
機能フラグ/features
Geoノード/geo_nodes
グループアクティビティー分析/analytics/group_activity/{issues_count}
ストレージ間グループリポジトリ移動/group_repository_storage_moves
GitHubからリポジトリをインポート/import/github
Bitbucket Serverからリポジトリをインポート/import/bitbucket_server
インスタンスクラスター/admin/clusters
インスタンスレベルのCI/CD変数/admin/ci/variables
イシュー統計/issues_statistics(グループおよびプロジェクトでも利用可能)
イシュー/issues(グループおよびプロジェクトでも利用可能)
ジョブ/job
キー/keys
ライセンス/license
Markdown/markdown
マージリクエスト/merge_requests(グループおよびプロジェクトでも利用可能)
ネームスペース/namespaces
通知設定/notification_settings(グループおよびプロジェクトでも利用可能)
コンプライアンスとポリシー/admin/security/compliance_policy_settings
Pagesドメイン/pages/domains(プロジェクトでも利用可能)
パーソナルアクセストークン/personal_access_tokens
プランの制限/application/plan_limits
プロジェクトリポジトリのストレージ移動/project_repository_storage_moves
プロジェクト/users/:id/projects(プロジェクトでも利用可能)
Runner/runners(プロジェクトでも利用可能)
検索/search(グループおよびプロジェクトでも利用可能)
サービスデータ/usage_data(GitLabインスタンスの管理者ユーザーのみ)
設定/application/settings
Sidekiqのメトリクス/sidekiq
Sidekiqキューの管理/admin/sidekiq/queues/:queue_name
スニペットリポジトリのストレージ移動/snippet_repository_storage_moves
統計/application/statistics
提案/suggestions
システムフック/hooks
To Do/todos
トークン情報/admin/token
トピック/topics
ユーザー/users
Webコミット/web_commits/public_key
バージョン/version

テンプレートリソース

エンドポイントは以下で利用できます。