如何正确解析curl中的yml?

How to parse yml in curl correctly?

正在尝试通过 API 在 CircleCI 中创建上下文。参考文档:https://circleci.com/docs/api/v2/#tag/Context

我创建了一个个人 api 令牌并根据要求编码为 base64,以用于基本身份验证命令。

我正在使用如下的 curl 命令:

  name: "Create Context"
  command:
    curl --request POST \
    --url https://circleci.com/api/v2/context \
    --header 'authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxx' \
    --header 'content-type:' 'application/json' \
    --data '{"name":"string","owner":{"id":"string","type":"organization"}}'

我收到如下错误:

Unable to parse YAML
mapping values are not allowed here
 in 'string', line 23, column 36:
                --header 'authorization: xxxxxxxxxxxxxxx ... 

我尝试在该行中为转义字符加上双引号,但仍然出现同样的错误。 你能推荐正确的方法吗

YAML 中的多行字符串值语法不同。那里没有 backslash-escapes-newline 逻辑。它应该是:

name: "Create Context"
  command: >
    curl --request POST 
    --url https://circleci.com/api/v2/context 
    --header 'authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxx'
    --header 'content-type:' 'application/json'
    --data '{"name":"string","owner":{"id":"string","type":"organization"}}'

字符串的结尾用缩进表示,就像 YAML 那样。

请注意,YAML 解析不是由 CURL 本身完成的。 YAML 中有一个 curl 命令,而不是相反。至于周边的那个解析YAML的软件,从问题上看不清楚