您应该定期查看以下弃用项,并进行推荐的更改。这些弃用项通常表示改进的 API 功能,并建议使用新字段或端点来实现功能。

虽然一些弃用项提到了 v5 REST API,但没有 v5 REST API 开发处于活跃状态。极狐GitLab 不会在 REST API v4 中进行这些更改,因为我们承诺遵循 REST API 的语义版本控制

geo_nodes API 端点

geo_nodes API 端点已被弃用,并被geo_sites取代。这是如何引用 Geo 部署的全局更改的一部分。在整个应用程序中,节点被重命名为站点。两个端点的功能保持不变。

merged_by API 字段

合并请求 API中,merged_by 字段已被弃用,建议使用 merge_user 字段,它更准确地识别在执行其他操作(设置为自动合并、添加到合并列车)而不是简单合并时合并请求的人。

建议 API 用户改用新的 merge_user 字段。merged_by 字段将在极狐GitLab REST API 的 v5 中被移除。

merge_status API 字段

合并请求 API中,merge_status 字段已被弃用,建议使用 detailed_merge_status 字段,它更准确地识别合并请求可能处于的所有潜在状态。建议 API 用户改用新的 detailed_merge_status 字段。merge_status 字段将在极狐GitLab REST API 的 v5 中被移除。

用户 API 中 private_profile 属性的空值

通过 API 创建和更新用户时,private_profile 属性的 null 是有效值,会在内部转换为默认值。在极狐GitLab REST API 的 v5 中,null 将不再是此参数的有效值,如果使用,将返回 400。此更改后,唯一的有效值将是 truefalse

单个合并请求更改 API 端点

获取单个合并请求更改的端点已被弃用,建议使用列表合并请求差异端点。建议 API 用户切换到新的差异端点。

单个合并请求更改 端点将在极狐GitLab REST API 的 v5 中被移除。

管理许可证 API 端点

获取给定项目的所有管理许可证的端点已被弃用,建议使用许可证审批策略功能。

希望继续根据检测到的许可证强制执行审批的用户,建议创建新的许可证审批策略

管理许可证 端点将在极狐GitLab REST API 的 v5 中被移除。

合并请求审批 API 中的审批人和审批人群组字段

获取项目审批配置的端点返回空数组的 approversapproval_groups。这些字段被弃用,建议使用合并请求的获取项目审批规则端点。建议 API 用户改用此端点。

这些字段将在极狐GitLab REST API 的 v5 中从 获取配置 端点中移除。

Runner 中 activepaused 替代

重大变更。相关议题

在极狐GitLab Runner GraphQL API 端点中出现的 active 标识符将在极狐GitLab 16.0 中重命名为 paused

  • 在 REST API 的 v4 中,可以使用 paused 属性代替 active
  • 在 REST API 的 v5 中,此更改将影响获取或返回 active 属性的端点,例如:
    • GET /runners
    • GET /runners/all
    • GET /runners/:id / PUT /runners/:id
    • PUT --form "active=false" /runners/:runner_id
    • GET /projects/:id/runners / POST /projects/:id/runners
    • GET /groups/:id/runners

极狐GitLab Runner 的 16.0 版本将在注册 runners 时开始使用 paused 属性。

Runner 状态将不返回 paused

在未来的 REST API v5 中,极狐GitLab Runner 的端点将不返回 pausedactive

runner 的状态将仅与 runner 的联系状态有关,例如:onlineofflinenot_connected。状态 pausedactive 将不再出现。

在检查 runner 是否 paused 时,建议 API 用户检查布尔属性 paused 是否为 true。在检查 runner 是否 active 时,检查 paused 是否为 false

Runner 将不返回 ip_address

在极狐GitLab 17.0 中,Runners API 将返回 "" 代替 runners 的 ip_address。在 REST API 的 v5 中,该字段将被移除。

default_branch_protection API 字段

在极狐GitLab 17.0 中,以下 API 的 default_branch_protection 字段已被弃用:

您应该使用 default_branch_protection_defaults 字段,它提供了对默认分支保护的更精细控制。

default_branch_protection 字段将在极狐GitLab REST API 的 v5 中被移除。

require_password_to_approve API 字段

require_password_to_approve 在极狐GitLab 16.9 中已被弃用。请改用 require_reauthentication_to_approve 字段。如果您为两个字段提供值,则 require_reauthentication_to_approve 字段优先。

require_password_to_approve 字段将在极狐GitLab REST API 的 v5 中被移除。

使用项目 API 端点的拉取镜像配置

在极狐GitLab 17.6 中,使用项目 API 的拉取镜像配置已被弃用。它被新的配置和端点projects/:id/mirror/pull取代。

使用项目 API 的先前配置将在极狐GitLab REST API 的 v5 中被移除。

使用项目 API 端点的 restrict_user_defined_variables 参数

在极狐GitLab 17.7 中,项目 API 中的restrict_user_defined_variables 参数已被弃用,建议仅使用 ci_pipeline_variables_minimum_override_role

要匹配 restrict_user_defined_variables: false 的相同行为,请将 ci_pipeline_variables_minimum_override_role 设置为 developer