在Jenkins远程API作业触发中提供userName和shortDescription

时间:2012-02-10 13:23:14

标签: jenkins

我知道如何提供构建参数:

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中描述的问题一起使用。我想提供带有调用作业名称和内部版本号的触发作业。

1 个答案:

答案 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启动所有版本,并附加一个布尔参数来告诉触发器工作是否运行。如果要求作业不运行,它将立即失败并调用“清理”作业向其传递构建信息;然后,清理作业将从系统中删除构建。