【发布时间】:2017-11-20 14:28:57
【问题描述】:
我正在尝试以下方法:
sh '''
changelog=$(git log `git describe --tags --abbrev=0 HEAD^`..HEAD --oneline)
curl --data '{"\tag_name\": \\"v0.0.${BUILD_NUMBER}\\",\"target_commitish\": \"master\",\"name\": \\"Release v0.0.$BUILD_NUMBER\\",\"body\": \\"$changelog\\",\"draft\": false,\"prerelease\": false}' https://****/api/v3/repos/****/****/releases?access_token=$JENKINS_ACCESS_TOKEN_PSW
'''
基本上,我想包含 tag、name 和 body 的“动态”值,这些值是使用 Jenkins 内部版本号 ($BUILD_NUMBER) 和包含 git log 的结果的 bash 变量 (@ 987654327@).
我已经做了各种单引号和双引号以及其他我不知道应该如何进行的转义更改。
目前失败:
curl:(6)无法解析主机:变量
curl:(6)无法解析主机:转义
curl:(6)无法解析主机:9a21d71
curl:(6)无法解析主机:更多
curl:(6)无法解析主机:转义
curl:(6)无法解析主机:尝试
curl:(6)无法解析主机:708ed0f
curl:(6)无法解析主机:更多
curl:(6)无法解析主机:转义'
它无法处理changelog 变量中的内容。
【问题讨论】: