小编Geo*_*Hat的帖子

如何将curl输出保存在gitlab变量中?

对于一个项目,我们希望调用一个 API 并将此curl 的结果保存在一个变量中。

管道是这样构建的:

stages:
  - download

scan:
  stage: download
  image: ubuntu
  variables:
    TOKEN: 
  
  script:

    - apk add curl
    - apk add jq
    
    - TOKEN=$('curl -H "Content-Type: application/json" -d "{\"username\":\"$USER", \"password\":\"$PWD"}" https://example.org/api2/authenticate | jq .token ')
    #- echo $TOKEN
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

此 GitLab CI 配置无效:jobs:scan:script 配置应该是字符串或最多 10 层深度的嵌套字符串数组。

curl 命令(从 $() 中删除,但保留单引号来包裹双引号)正常工作并返回带有令牌的字符串。唯一的问题是将结果封装在变量中。可以做什么?

谢谢。

bash shell yaml gitlab gitlab-ci

2
推荐指数
1
解决办法
2885
查看次数

标签 统计

bash ×1

gitlab ×1

gitlab-ci ×1

shell ×1

yaml ×1