{{< details >}}

  • Tier: 基础版,专业版,旗舰版
  • Offering: JihuLab.com,私有化部署

{{< /details >}}

极狐GitLab REST API 提供了对极狐GitLab 资源的编程控制。构建与现有工具的集成,自动化重复任务,并提取数据以进行自定义报告。无需使用网页界面即可访问和操作项目、群组、议题和合并请求。

使用 REST API 可以:

  1. 自动化项目创建和用户管理。
  2. 从外部系统触发 CI/CD 流水线。
  3. 提取议题和合并请求数据以创建自定义仪表板。
  4. 将极狐GitLab 与第三方应用集成。
  5. 在多个存储库中实施自定义工作流程。

REST API 资源组织为:

  1. 项目资源
  2. 群组资源
  3. 独立资源
  4. 模板资源

项目资源

在项目上下文中可用的 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

模板资源

可用端点包括:

  1. Dockerfile 模板
  2. .gitignore 模板
  3. 极狐GitLab CI/CD YAML 模板
  4. 开源许可证模板