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 |
模板资源
提供以下模板的端点: