curl命令不适用于gitlab-ci管道

时间:2020-04-29 08:39:03

标签: gitlab-ci pipeline

我试图使用gitlab REST API v4拉项目ID,但是当我发出curl命令时,出现此错误:

true

命令是这个:

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

我试图单引号:

  • curl -k -H "PRIVATE-TOKEN: PRIVATE-TOKEN" "https://gitlab.nbg992.poc.dcn.telekom.de/api/v4/projects?search=$CI_PROJECT_NAME"

但是当我这样做时,它消除了故障,但是该命令被忽略了。 所以我尝试这样评估它:

  • 'curl -k -H "PRIVATE-TOKEN: PRIVATE-TOKEN" "https://gitlab.nbg992.poc.dcn.telekom.de/api/v4/projects?search=$CI_PROJECT_NAME"'

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

eval - 'curl -k -H "PRIVATE-TOKEN: PRIVATE-TOKEN" "https://gitlab.nbg992.poc.dcn.telekom.de/api/v4/projects?search=$CI_PROJECT_NAME"'

任何提示我应该如何发出curl命令?我认为导致失败的原因是"jobs:test:script config should be a string or an array of strings"

中的冒号

1 个答案:

答案 0 :(得分:1)

这对我有用

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

  • 变量:
    • username = "azureuser" public_key = file("C:\\Users\\someusername\\.ssh\\id_rsa.pub")
    • PRIVATE-TOKEN: "TokenValue"

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

  • 脚本:
    • PRIVATE_HEADER: "PRIVATE-TOKEN: ${PRIVATE-TOKEN}"

在变量名周围使用 curl -k -H ${PRIVATE_HEADER} "https://gitlab.nbg992.poc.dcn.telekom.de/api/v4/projects?search=${CI_PROJECT_NAME} 大括号确保不会出现 {} 问题