Help us learn about your current experience with the documentation. Take the survey.

REST API 资源

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

GitLab REST API 让您能够以编程方式控制 GitLab 资源。 您可以将其与现有工具集成,自动化重复性任务,并为自定义报表提取数据。 无需使用网页界面,即可访问和操作项目、群组、议题和合并请求。

使用 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 分发 /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 代理 /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
项目维基 /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 gems /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
群组维基 /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
待办事项 /todos
令牌信息 /admin/token
主题 /topics
用户 /users
Web 提交 /web_commits/public_key
版本 /version

模板资源

提供以下模板的端点: