【问题标题】:Create pipeline with Gitlab API. Getting 500使用 Gitlab API 创建管道。获得 500
【发布时间】:2021-12-05 16:04:27
【问题描述】:

我正在尝试使用 https://docs.gitlab.com/ee/api/pipelines.html#create-a-new-pipeline 创建一个新管道,但 variables 参数有点令人困惑。他们是否期待一个长 json 字符串,该字符串经过 url 编码并填充到那个东西中?我习惯于在 body 中传递数据,所以感觉非常受限。

如果我这样称呼? https://gitlab.com/api/v4/projects/{YOUR PROJECT ID}/pipeline?variables=%255B%257B%2522variable_type%2522%253A%2522variable%2522%252C%2522key%2522%253A%2522SCHEME%2522%252C%2522value%2522%253A%2522fooBAR%2522%257D%255D&ref=feature/some-cool-feature 它只有 500 个。

我确定我在做一些愚蠢的事情,但有人知道吗?

我会提到它在没有 variables 参数的情况下效果很好。

【问题讨论】:

  • 你怎么称呼这个,你是用邮递员还是类似的东西,还是你只是在浏览器中打开那个链接?
  • 邮递员工作,但我正在构建一个自定义本机应用程序。如果您查看文档,则令牌有一个必需的标头,因此一旦添加,您就可以随意调用它。这是一个 curl 示例:curl --location --request POST 'https://gitlab.com/api/v4/projects/{YOUR PROJECT ID}/pipeline?ref={YOUR BRANCH NAME}&variables=%5B%7B%22variable_type%22:%22variable%22,%22value%22:%22fooBAR%22,%22key%22:%22SCHEME%22%7D%5D' \ --header 'PRIVATE-TOKEN: {YOUR TOKEN}'
  • 我在问,因为只要我通过正文 (curl --data) 提供数据,它就可以正常工作,没有任何问题 - 但只要我尝试将其添加为 url 参数,我也会得到一个500
  • 哦,有趣!身体也适合我。我认为文档是说将其作为查询参数传递。
  • 很高兴我能帮上忙 :)

标签: gitlab gitlab-ci gitlab-api


【解决方案1】:

感谢@simon-schrottner 的推动。我认为文档是说将变量作为查询参数传递,但将它们作为正文传递要简单得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-03
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多