当前位置: 首页 > 面试题库 >

如何获得詹金斯(Jenkins)最长建造时间的工作清单

习和通
2023-03-14
问题内容

我需要针对我们的Jenkins构建集群生成每周报告。报告之一是显示构建时间最长的作业列表。

我能想到的解决方案是解析每个从属服务器(也是主服务器)上的“构建历史”页面,对于作业的每个构建,都解析该构建页面并查找“ slave-xx上的x x min
x sec”。

感觉很麻烦,有人知道使用Jenkins API或Groovy脚本控制台有更好的解决方案吗?

谢谢


问题答案:

您可以通过Jenkins API获取报告的构建数据。对于给定的作业,您可以使用以下方式检索包含工期信息的构建列表:

http://jenkins:8080/job/my- job/api/json?tree=builds[id,number,duration,timestamp,builtOn]

要查看给定作业的所有API可用的构建数据的列表,请执行以下操作:

http://jenkins:8080/job/my-job/api/json?tree=builds[*]

一旦有一个查询可以检索报告所需的工作信息,就可以很容易地遍历这些工作。

大多数Jenkins页面的底部都有REST
API的链接,该链接描述了有关访问该页面的API的一些信息,例如http://jenkins:8080/job/my-job/api



 类似资料:
  • 问题内容: 有没有办法在jenkins中获取当前构建的作业名称,并将其作为参数传递给ant构建脚本? 问题答案: Jenkins设置了一些环境变量,例如(请参阅此处),以获取有关设置的变量的更多详细信息。 然后,您可以通过在ant中访问它们。 编辑:还有在同一页上的环境变量有点HOWTO 这里。

  • 问题内容: 我只是为我的项目(版本2.19.4)设置了一个新的Jenkins实例。但是,当我尝试生成多个用于测试的构建时,我发现“构建历史”仅显示了一个历史构建。 升级之前,它至少显示两个或更多。在詹金斯(Jenkins)中有什么地方可以设定应显示的历史建筑数量? 问题答案: 在作业配置页面中,您可以设置要在历史记录中维护的历史版本的数量。您可能已将其设置为0。如果您对该作业具有管理员权限,则应该

  • 我们正在运行詹金斯2。x和爱的新管道插件。但是,由于存储库中有这么多分支,磁盘空间很快就会填满。 是否有任何与管道兼容的插件,我可以在成功构建时清除工作区?

  • 我们正在从遗留的Jenkins设置迁移到一个新服务器,其中所有计划都是声明性的jenkinsfile管道...然而,通过使用管道,我们不能再手动清除工作区。如何设置Jenkins以允许手动按需清理工作区? 我不希望每次运行时都清除工作区-我们可怕的遗留应用程序来自1.7G大小的回购(!)要花很长时间才能拉。每次运行时清除不是可行的选择。我不希望遵循“ssh in并手动删除目录”选项,因为并非所有J

  • 问题内容: 我想在不同的机器上使用相同的作业。但是我不想每次都更改作业的配置。我可以通过机器名称标签作为参数并在另一台机器上运行作业吗?(不同时)。 我想在将作业运行到我在配置中编写的脚本(批处理脚本)时传递参数。我们能做到吗? 我可以从工作中获得返回值并在下一个工作中使用它吗? 问题答案: 是的,您可以使用NodeLabel Parameter Plugin传递节点标签参数。 是的,您可以按照描

  • 问题内容: 我有一份詹金斯的工作。我想使用build参数在特定时间构建我的工作。 我想通过使用该选项。 我有这样的输入: 如果我这样做,詹金斯会显示一个错误。 是否可以 不使用任何插件 。 如果没有,那哪个插件会更好 或者,有没有办法在时间表中提供参数? 我的实际需求是这样的: 问题答案: 基本上,使用“定期构建”选项,您无法安排带有参数的Jenkins作业。 但是,要在需要使用不同环境的不同时间