首页 > 解决方案 > 合并请求批准 API 身份验证

问题描述

我想通过 gitlab API 获得合并请求批准的状态

GET /projects/:id/merge_requests/:merge_request_iid/approval_state

此调用需要具有 api 级别权限的基于帐户的访问令牌(对所有内容进行读/写)。这不安全,因为我想在其他人可能看到/使用我的令牌的管道中使用此调用。

是否有可能使用基于项目的令牌进行此调用?

文档可以在这里找到

标签: gitlabgitlab-cigitlab-api

解决方案


您可以将令牌保存在项目设置中。
看看这里:https ://docs.gitlab.com/ee/ci/variables/#via-the-ui

在 UI 中,导航到项目的Settings > CI/CD并展开Variables
通过选择新变量的类型、在输入变量键字段中命名并在输入变量值字段中定义其值来创建新变量

因此,例如,您将令牌保存在变量中:TOKEN。然后您可以轻松地在.gitlab-ci.yml脚本中使用此变量:

script:
  - curl --header "Private-Token: $TOKEN" https://gitlab.example.com/api/v4/projects

推荐阅读