我知道如何提供构建参数:
wget --post-data='json={"parameter": {"name": "testparam", "value": "HELLO"}}' http://jenkins/job/Job1/build?delay=0sec
但是,是否可以通过 wget/curl 在 Jenkins 远程 API 构建请求中提供简短的描述和用户名?
它在 json 或 xml 中应该是什么样子?网上有任何手册/指南吗?
我将使用它来解决Trigger dynamic set of jobs中描述的问题。 。我想提供触发作业以及调用作业名称和内部版本号。
最佳答案
您可以考虑使用 Jenkins CLI(http://[jenkins-host]/cli 在浏览器中获取帮助)。您可以为 build CLI 命令指定用户。不过,我不确定开始构建时的简短描述是什么意思。
更新:请参阅 Jenkins Wiki Authenticating Scripted Clients 。我创建了一个用户 foobar
(“全名”Foo Bar
)并尝试了以下操作:
wget --auth-no-challenge --http-user=foobar --http-password=[apiToken] http://jenkins.yourcompany.com/job/your_job/build
从用户配置页面获取 token 的位置:http://localhost:8081/user/foobar/configure
。有效。但用户必须存在。另外,您必须指定 --auth-no-challenge
选项,否则它将以匿名方式启动构建。状态描述为由用户 Foo Bar 启动
。
另一个更新如果其他一切都失败,您可以考虑以下解决方法:通过 Parameterized Trigger Plugin 启动所有构建带有一个附加的 bool 参数,告诉触发的作业是否运行。如果作业被要求不要运行,它将立即失败并调用“清理”作业,并将构建信息传递给它;然后清理作业将从系统中删除该构建。
关于jenkins - 在 Jenkins 远程 API 作业触发中提供用户名和简短描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9228450/