首页 > 解决方案 > curl命令在gitlab-ci管道上不起作用

问题描述

我正在尝试使用 gitlab REST API v4 提取项目 ID,但是当我发出 curl 命令时,出现此错误:

"jobs:test:script config should be a string or an array of strings"

命令是这个:

我试图单引号它:

但是当我这样做时,它消除了失败,但命令被忽略了。所以我试着像这样评估它:

当我这样做时,它再次产生了失败:

"jobs:test:script config should be a string or an array of strings"

任何线索我应该如何发出 curl 命令?我认为导致失败的原因是"PRIVATE-TOKEN: PRIVATE-TOKEN"

标签: gitlab-cipipeline

解决方案


这对我有用

在变量部分声明作业变量,例如:

  • 变量:
    • PRIVATE-TOKEN: "TokenValue"
    • PRIVATE_HEADER: "PRIVATE-TOKEN: ${PRIVATE-TOKEN}"

然后在 CI 文件的 Script Section 下使用 Curl 命令如下

  • 脚本:
    • curl -k -H ${PRIVATE_HEADER} "https://gitlab.nbg992.poc.dcn.telekom.de/api/v4/projects?search=${CI_PROJECT_NAME}

在变量名周围使用{}大括号可确保":"不会出现该问题


推荐阅读