{{< details >}}
- Tier: 基础版,专业版,旗舰版
- Offering: JihuLab.com,私有化部署
{{< /details >}}
极狐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 |
模板资源
可用端点包括: