我正在尝试设置我正在触发的构建的构建描述,因为我正在启动构建,到目前为止我没有运气。
我遇到了一个解决方案( Adding text to the page of a build triggered by the Jenkins remote API ),我有点让它以这种方式工作(第一个命令将启动构建,第二个命令将设置最后一个构建的描述):
curl -v -X POST "http://[myServer]/job/[jobName]/build"
curl -v -X POST "http://[myServer]/job/[jobName/lastBuild/submitDescription" --data-urlencode "description=test description"
然而,问题是,如果我刚刚启动的构建被排队/没有立即启动,“lastBuild”将不会引用我刚刚启动的构建,而是它之前的构建(仍在构建)。
所以我尝试了这样的事情:
payload='json={""description"":""test description""}'
curl -v -X POST -H "Content-Type: application/json" -d $payload "http://[myServer]/job/[jobName]/build"
但它实际上并没有设置描述。
任何想法如何实现?
我找到了其他解决方案,但我对以下解决方案并不满意:
最佳答案
您始终可以拥有一个变量,并在初始调用时将构建描述传递给该变量。然后在构建结束时,将变量输出到控制台并捕获 Description Setter plugin .
编辑澄清:
echo Desc: $MyDescription
或 echo Desc: %MyDescription%
,取决于您的操作系统。 ^Desc: (.*)
\1
curl -v -X POST --data-urlencode "MyDescription=This is my desc" "http://[myServer]/job/[jobName]/buildWithParameters"
(上面是一行)
关于curl - 如何在通过 curl 触发构建时设置 Jenkins 构建描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28503736/