gitlab - 合并请求批准 API 身份验证
问题描述
我想通过 gitlab API 获得合并请求批准的状态
GET /projects/:id/merge_requests/:merge_request_iid/approval_state
此调用需要具有 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
推荐阅读
- microsoft-teams - 从 Teams 桌面客户端应用程序选项卡打开一个弹出窗口(例如本机浏览器)
- cucumber - 无法使用 SerenityParameterizedRunner 从 csv 文件中读取数据
- angular - 类 MarkdownModule 不是 Angular 模块
- php - PHPSpreadsheet:为时间格式化单元格还包括日期
- r - ggplot中颜色美学的多个变量问题
- java - 如何将 Activity.class (this) 传递给方法?(安卓)
- ios - 视图的框架是否总是在调用 draw(_:) 时设置?
- jekyll - 如果项目特定数据不可用,Jekyll 中继承默认数据的惯用方式
- java - 修改 ArrayList 的元素
- python - 使用pyodbc python的零星SQL查询时间