如何在Yaml脚本中获取curl响应JSON?

问题描述

我想将我的响应obj值分配给我的bitbucket.yml脚本中的数组。但这让我不确定。 下面是卷曲响应:

{
"pagelen": 500,"values": [
    {
        "status": "modified","old": {
            "path": "bitbucket-pipelines.yml","escaped_path": "bitbucket-pipelines.yml","type": "commit_file","links": {
                "self": {
                    "href": "https://api.bitbucket.org/2.0/repositories/{{workspace}}/{{repo_slug}}/src/{{commit_hash}}/bitbucket-pipelines.yml"
                }
            }
        },"lines_removed": 1,"lines_added": 1,"new": {
            "path": "bitbucket-pipelines.yml","type": "diffstat"
    }
],"page": 1,"size": 1

}

在这里,我想借助循环来遍历值并获取文件名并部署它们的循环将响应“ values [i] .old [” path“]”中的文件名分配给数组。 / p>

for(i = 0; i<FILES.length; i++){ 
 run deploy FILES[i].old["path"]}

下面,我使用bitbuckets API卷曲响应并将其分配给var“ FILES”

FILES = $(node -pe'JSON.parse(process.argv [1])。values'“ $(curl https:// $ {BITBUCKET_USERNAME}:$ {BITBUCKET_APP_PASSWORD} @ api.bitbucket.org / 2.0 / repositories / $ BITBUCKET_WORKSPACE / $ BITBUCKET_REPO_SLUG / diffstat / $ BITBUCKET_COMMIT)“)

使用上述API无法将响应中的values数组分配给我的pipelines.yml脚本中的变量FILE,但是现在主要的阻止方法是遍历FILE变量,并逐一运行我的deploy cmd文件名。

任何线索都将有所帮助。

PS:我正在尝试使用以javascript / nodejs为首选语言的Bitbucket管道来实现CD处理

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)