詹金斯内部版本号在电源外壳脚本
在运行电源外壳纸条詹金斯内部版本号在电源外壳脚本
curl -X POST --data-urlencode 'payload={"channel": "#personal", "username": "Jenkins", "text": "Building $env:BUILD_NUMBER", "icon_emoji": ":computer:"}' https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO
或
curl -X POST --data-urlencode 'payload={"channel": "#personal-notification", "username": "Jenkins", "text": "Building ${BUILD_NUMBER}", "icon_emoji": ":computer:"}' https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO
的{BUILD_NUMBER}是没有得到通过实际版本号的卷曲有效载荷替换
- 编辑 我注意到我的sh脚本正在调用git \ bin \ sh.exe。那是问题吗?
尝试下面的其中一条评论 curl -X POST --data-urlencode $('payload = {0}“channel”:“#personal”,“username”:“Jenkins”,“text”: “建设{1}”, “icon_emoji”: “:计算机:”{2}” -f “{”,$ ENV:罗汉) “}” https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO我得到
直接尝试运行PS终端上的脚本,我得到
的概率lem是整个表达式用单引号括起来,所以PowerShell不会评估你的$env:BUILD_NUMBER
表达式。
使用字符串格式化表达式。注意,您还必须使用格式将{}字符保留在基本表达式之外,以避免运行时错误。
curl -X POST --data-urlencode $('payload={0}"channel": "#personal", "username": "Jenkins", "text": "Building {1}", "icon_emoji": ":computer:"{2}' -f "{", $env:BUILD_NUMBER) ,"}") https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO
没有解决不了。获取“错误格式字符串”错误 – 2014-09-27 18:38:26
Agh。也许花括号与位置格式相矛盾。 – 2014-09-27 19:28:47
任何想法如何解决它? – 2014-09-27 19:29:31
代码中的几个问题,第一个引号(PS中变量的引用不展开)秒(愚蠢)参数......这个如果不改变工作尝试BUILD_NUMBER为$ {} BUILD_NUMBER
$param = @()
$param = "-X POST"
$param += "--data-urlencode 'payload={""channel"": ""#personal"", ""username"": ""Jenkins"", ""text"": ""Building ${env:BUILD_NUMBER}", ""icon_emoji"": "":computer:""}'"
$param += "https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO"
$curl $param
或者
$param = ''
$param = "-X POST"
$param += "--data-urlencode 'payload={""channel"": ""#personal"", ""username"": ""Jenkins"", ""text"": ""Building ${env:BUILD_NUMBER}", ""icon_emoji"": "":computer:""}'"
$param += "https://xxxxxx.slack.com/services/hooks/incoming-webhook?token=aseaUO"
$curl $param
我上面没有提到,但是我的原始命令还有一个奇怪的问题。 - 我无法直接在Power Shell上运行它。我会在POS 42 错误 无与伦比的封闭支架但是,当我把它放在一个sh文件,并调用它,它调用终端(未PS)窗口和运行。我从来没有搞清楚为什么会发生。 在你的情况下,变量现在完全得到解析。但我的旧错误又回来了。即使我从.sh文件运行它,终端也会启动并显示一条消息,消息消失之前消息太快,无法正常工作。 – 2014-09-28 03:41:19
Buildnumber在全球环境变量'ENV定义:'或'psvariable变量:'?试试这个:'$ {env:BUILD_NUMBER}' – 2014-09-27 13:23:23
不行不行 – 2014-09-27 13:55:10