代码之家  ›  专栏  ›  技术社区  ›  CuriousToLearn

Jenkins cli-help需要获取作业中的构建列表

  •  0
  • CuriousToLearn  · 技术社区  · 11 年前

    我正在使用jenkins cli从shell脚本连接jenkins。我需要获取给定作业中前20个构建的控制台输出,并进行一些计算。

    我想知道如何使用jenkinscli或任何其他容易获得的方式获取jenkins作业中可用的构建列表,以便使用jenkins cli获取作业的控制台输出,使用作业的构建号。

    提前感谢

    1 回复  |  直到 11 年前
        1
  •  4
  •   Songy    9 年前

    我使用RESTapi而不是它们提供的cli。我发现它更快更灵活。

    对于您的情况,我将从一个作业名生成一个URL,该URL返回所有成功构建的XML数据,然后遍历每个构建并从另一个生成的URL获取控制台输出。

    将返回包含所有成功生成的生成号的XML数据的URL。

    jenkins:8080/job/example_job/api/xml?tree=allBuilds[result,number]&xpath=//allBuild[result='SUCCESS']/number&wrapper=nums
    

    jenkins:8080/job/example_job/api/xml? -Jenkins服务器在作业上打开了XMLapi。

    tree=allBuilds[result,number]& -只要求 number result 属于作业的所有构建。

    xpath=//allBuild[result='SUCCESS']/number& -让詹金斯处理这些数据 filter 它归结为一个列表 数字 属于 allBuild 标签谁有 后果 具有值的标记 SUCCESS .

    wrapper=nums -由于xpath分割了所有数字,因此它们没有父级,我们需要将它们包装在另一个标签下, nums .

    使用这些num XML标记,您可以创建一个URL来获取控制台输出。

    jenkins:8080/job/example_job/132/consoleText
    

    我看到你有一个Python标记,所以我假设你的脚本是用Python编写的。这意味着您可以使用 minidom urllib2 以解析XML数据并检索网页。