是否有API来确定给定作业当前是否正在运行?
理想情况下,我还希望能够确定其估计完成百分比并获取SVN修订号的详细信息并提交评论!
编辑:
我找到了答案.http://host/job/project/lastBuild/api/
在某个地方几乎拥有我需要的所有东西!如果您启动手动构建,它将不会告诉您SCM更改集,但这是有道理的.它仍然告诉你最新的SCM修订版,所以这很好.总而言之,这对我的目的来说足够好了.
我有一个Jenkins构建作业,在默认分支上有一个Mercurial触发器,适用于构建"候选版本".然后,这项工作开始烟雾测试工作.
我们使用按功能分支的分支方案,因此在任何给定时间Mercurial中可能有多达12个不同的活动分支(但活动分支会定期更改).
我希望通过更改任何分支触发Jenkins作业,然后为所有需要更新的分支构建和运行冒烟测试.每次我们进行构建时,我们都应该创建与分支匹配的工件.
我在另一个回答中看到了一个建议:在Mercurial触发器中使用"tip"而不是分支名称 - 这是一种可能性,但我认为它将属于"大多数工作"类别.触发器是轮询,因此如果在轮询间隔内发生多个分支的更改,则可能会错过分支更新.
每次创建分支时我都可以创建一个新工作,但由于我们的分支机构的动态特性,这将是许多正在进行的工作.
我希望能够提供类似于buildbot控制台视图的Jenkins构建视图.使用Jenkins开箱即用,似乎没有很好的方法将提交与构建相关联.您必须访问特定的构建以确定它正在构建的提交.
我希望能够显示已在特定分支中测试的提交的状态,因此我们知道是否跳过提交或者是否尚未测试最新提交.
我尝试使用Jenkins API,但我发现我只能通过构建本身看到git提交的SHA1哈希,即通过http://server/job/job-name/388/api/json
.因此,我可以看到采取提交并为其找到构建的唯一方法是遍历作业中的每个构建并检索其关联的构建信息.这肯定不会有效和快速.还有另一种方法吗?
我们在哈德森的一个项目有生产工作和夜间工作.生产作业需要从特定的夜间构建#(作为参数提供)中提取一些工件.任何人都可以帮助我们提示如何实现这一目标吗?
我需要强制停止在远程服务器上运行的Hudson构建.是否有命令/ API来做到这一点?
例如:要触发我们可以执行的新构建: - HUDSON_URL/job/JOBNAME/build
寻找类似的API来停止构建.
目前我正在寻找一种工作方法来在Hudson的以下配置中上传文件+字段.目前的问题是Hudson总是抱怨应该提交的表格..(见本文稍后的例外).但基于我阅读的文档,它应该像下面的Java代码片段一样工作...
HttpPost httppost = new HttpPost(triggerJobUrl);
FileBody fileBody = new FileBody(releaseProperties);
StringBody stringBody = new StringBody(svnURL.toString());
MultipartEntity mentity = new MultipartEntity();
mentity.addPart("trunk/release.properties", fileBody);
mentity.addPart("SVNURL", stringBody);
httppost.setEntity(mentity);
HttpResponse response = null;
try {
response = httpClient.execute(httppost);
} catch (ClientProtocolException e) {
throw new HudsonException("http protocol error.", e);
} catch (IOException e) {
throw new HudsonException("connection aborted.", e);
}
if (response.getStatusLine().getStatusCode() != 200) {
throw new HudsonException("Unexpected status code received " + response.getStatusLine().getStatusCode());
}
HttpEntity resEntity = response.getEntity();
if (resEntity …
Run Code Online (Sandbox Code Playgroud) 如何通过 REST API 取消 jenkins 中的构建队列作业,这些作业不是由 jenkins 启动且位于其构建队列中。我知道如何使用以下命令取消正在进行的作业
curl -X POST <jenkins-server>/job/<job-name>/<build-number>/doDelete
Run Code Online (Sandbox Code Playgroud) 我有一个Python脚本,可以在Hudson构建上运行,并且希望能够以编程方式设置构建的描述.
我可以在构建页面上单击"添加描述"并填写表单,如何将一些数据发布到与表单相同的URL?
我正在尝试使用Jenkins(Hudson)远程API来使用freeStyleProject的XML响应.
研究关于詹金斯在树中的查询参数文件和这里我一直在试图用它来提高响应时间,以获得XML响应.但Jenkins似乎无法使用此URL生成作业的节点downstreamProject和构建的action/parameter:
http:// localhost/job/MyJob/api/xml?depth = 2&tree = name,description,builds [ action [parameter [name,value] ] number,url,timestamp,result],healthReport [score,description],downstreamProject [名称,网址]
我只是得到这个响应XML:
<freeStyleProject>
<description>Description</description>
<name>MyJob</name>
<build>
<number>2</number>
<result>SUCCESS</result>
<timestamp>1325784290000</timestamp>
<url>http://localhost/job/MyJob/2/</url>
</build>
<build>
<number>1</number>
<result>SUCCESS</result>
<timestamp>1323931754000</timestamp>
<url>http://localhost/job/MyJob/1/</url>
</build>
<healthReport>
<description>Build stability: No recent builds failed.</description>
<score>100</score>
</healthReport>
</freeStyleProject>
Run Code Online (Sandbox Code Playgroud)
也许树查询参数不支持这些?使用xpath和exlude查询参数获取此节点的唯一方法是什么?
我正在使用jenkins 1.447.2版本.我的主人是linux,奴隶是windows
Jul 27, 2012 12:44:17 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Hudson agent is running in headless mode.
Jul 27, 2012 12:44:17 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://10.10.1.162:8080/jenkins/, http://dem
Jul 27, 2012 12:44:38 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to demo.sigmainfo.in:8050
Jul 27, 2012 12:44:38 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Jul 27, 2012 12:44:58 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: The server rejected the connection:
java.lang.Exception: The server rejected the connection:
at hudson.remoting.Engine.onConnectionRejected(Engine.java:258)
at hudson.remoting.Engine.run(Engine.java:233)
Run Code Online (Sandbox Code Playgroud)
我正在将连接奴隶连接到jenkins的主人时遇到上述错误.我得到了这个错误,因为我将master作为静态.(IP).
如何解决这个问题?
我有一个Java程序控制一组哈德森服务器自动生成的作业.使用hudson远程API创建,删除或更新作业(配置)没有问题.我还设法创建了哈德逊视图并为哈德逊视图创建了一个新工作.但我仍然需要知道如何将现有作业添加到视图以及如何再次删除它.
是否存在带有参数的URL(如创建作业)?
我想知道是否有人知道某种方式或插件以某种方式使用CLI从特定的Hudson作业获得最终构建版本的成功结果.
我可以看到这个结果保存在[DateTime]\build.xml
文件中,所以我可以写一些东西来获取结果,但是想知道是否有人已经这样做了或者知道使用CLI获取这些信息的方法?
我试图找到有关文档的信息,但无法找到答案.如果您需要更多细节,请告诉我.
我有一个哈德森实例运行,我每天都有100个工作.
我想得到一份工作清单,上次成功的工作是x天,所以我可以禁用这些不需要的工作.
示例:哈德森有一些工作,这些工作一年前成功建造,不再需要了.我想要一种查询和获取旧作业列表的方法.
hudson-api ×13
hudson ×12
jenkins ×8
api ×1
automation ×1
http ×1
httpclient ×1
java ×1
mercurial ×1
networking ×1
python ×1
rest ×1