gitlab - 尝试在 gitlab ci 中列出里程碑时未授权
问题描述
我正在尝试在 gitlab ci 脚本中列出里程碑。
我想创建摘要并将其与其他工件一起部署。
但我收到我未授权的消息:
$ curl --header "PRIVATE-TOKEN: $CI_JOB_JWT" "$CI_SERVER_URL/api/v4/projects/$CI_PROJECT_ID/milestones" % Total
% Received % Xferd Average Speed Time Time Time Current Dload Upload Total 花左速度 100 30 100 30 0 0 346 0 --:--:-- --:--:-- --:--:-- 348 {"message":"401 Unauthorized"}
我应该如何使用工作令牌(或使用什么代替)来访问里程碑?
解决方案
尝试使用预定义变量CI_JOB_TOKEN
而不是CI_JOB_JWT
. 根据预定义变量的文档CI_JOB_JWT
,令牌用于向支持 JWT 身份验证的第三方系统进行身份验证,例如带有 RS256 JSON Web 令牌的 HashiCorp 的 Vault。
相反,CI_JOB_TOKEN
它是一种用于向某些 API 端点进行身份验证的令牌。只要作业正在运行,令牌就有效。
否则,您可以为 Gitlab 用户生成个人访问令牌,将其作为项目变量存储在项目的 CI/CD 设置中,然后以这种方式使用它。
推荐阅读
- python - python如何每100步打开2个数据文件
- c# - SingleOrDefaultAsync:它实际上是什么意思?
- bash - 将自定义可执行 bash 脚本及其 systemd 脚本添加到 Yocto Build
- c# - 如何知道何时单击了当前活动的选项卡项 wpf?
- angular - Angular 6从服务返回值
- sorting - DataTable 最终日期/时间排序 - 使用自定义格式
- sql - 查询中的 SQL MIN 函数 - 3 列访问
- python - 当图形大小更改时,Matplotlib 给出错误的刻度标签值
- r - 删除R中的重复项,更改余数
- vba - 我的快捷键不允许我运行消息框