我知道如何提供构建参数:
wget --post-data='json={"parameter": {"name": "testparam", "value": "HELLO"}}' http://jenkins/job/Job1/build?delay=0sec
但是,是否可以通过wget / curl在Jenkins远程API构建请求中提供shortDescription和userName?
在json或xml中应该如何?网上有手册/指导吗?
我会将此问题与Trigger dynamic set of jobs中描述的问题一起使用。我想提供带有调用作业名称和内部版本号的触发作业。
答案 0 :(得分:2)
您可以考虑使用Jenkins CLI(http:// [jenkins-host] / cli在浏览器中获取帮助)。您可以将用户指定为构建 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
从用户配置页面获取令牌:http://localhost:8081/user/foobar/configure
。有效。但是,用户必须存在。此外,您必须指定--auth-no-challenge
选项,否则它将以匿名方式启动构建。状态说明显示Started by user Foo Bar
。
另一次更新如果其他所有内容都失败了,您可以考虑以下解决方法:通过Parameterized Trigger Plugin启动所有版本,并附加一个布尔参数来告诉触发器工作是否运行。如果要求作业不运行,它将立即失败并调用“清理”作业向其传递构建信息;然后,清理作业将从系统中删除构建。