REST API 资源
- Tier: 基础版,专业版,旗舰版
- Offering: JihuLab.com,私有化部署
极狐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 |
| 项目 包括设置 Webhooks | /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 |
| Runners | /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(群组和项目中也可用) |
| Pages 域 | /pages/domains(项目中也可用) |
| 个人访问令牌 | /personal_access_tokens |
| 计划限制 | /application/plan_limits |
| 项目存储库存储迁移 | /project_repository_storage_moves |
| 项目 | /users/:id/projects(项目中也可用) |
| Runners | /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 |
模板资源
可用端点包括: