当前位置: 首页 > 知识库问答 >
问题:

如何从groovy Postbuild插件访问Jenkins构建工件?

闾丘鸣
2023-03-14

有没有一种方法可以使用Groovy后期构建插件读取构建工件文件?

一些上下文:我已经编写了一些由Jenkins的maven运行的testng测试。Jenkins运行测试,给我测试结果等。但是,我被要求将结果存储在HP的应用程序生命周期管理(ALM)中。一位同事为我提供了一个构建后的groovy脚本,它可以与ALM接口并存储测试结果。我必须将这些参数传递给该脚本:

  • 作业名称
  • 通过/失败状态
  • 测试开始时间

我的想法是将testng-results.xml存储为工件,并用xmlslurper解析出结果,但我不知道如何从Groovy插件中读取工件。从Groovy后期构建插件页面中,我收集到也可以直接从manager.build变量中读取测试结果,但我对Jenkins或这个插件没有太多经验,到目前为止我还没有成功。

我也对其他方法持开放态度。groovy脚本运行在Jenkins服务器上,而不是从节点上。

共有1个答案

王航
2023-03-14

如果这对将来的任何人都有用,我使用的解决方案是在manager.build中找到我正在寻找的工件。getArtifacts()并使用manager.build.getArtifactsDir()<-code>加入该路径

 类似资料:
  • 我正在使用这个Jenkins插件:https://wiki.jenkins-ci.org/display/JENKINS/Build用户Vars插件 安装此插件后,如果选中“设置jenkins用户构建变量”框,您可以使用环境变量,它提供构建Jenkins作业的人员的名称。 但是,我不能让插件与管道插件(https://wiki.jenkins-ci.org/display/JENKINS/Pipe

  • 问题内容: 我在让Jenkins构建指定标签方面遇到问题。标签是参数化构建的一部分,但是我不知道如何将其传递给git插件来构建该标签。我每天花了3个小时,在堆栈溢出时我输给了大师。 问题答案: 我可以通过使用“分支生成”参数来做到这一点: 用标签名称替换[tag-name]。

  • 问题内容: 我正在为公司中的一些自定义报告创建一个构建后插件。我从此处提供的詹金斯“ hello world”示例开始: https://wiki.jenkins- ci.org/display/JENKINS/Plugin+tutorial 这很棒。我能够加载该插件并在我的Jenkins实例中使用它而没有任何问题。 为了使项目顺利进行,我能够将HelloWorldBuilder移至另一个文件夹,

  • 问题内容: 我正在使用Jenkins管道构建一个Android应用程序。 构建成功完成后,它将创建一个.apk文件。 我希望质量检查小组的成员能够下载该文件并在将其上传到Google商店之前测试该应用程序,因此我希望这些用户(有权访问Jenkins服务器)能够通过Jenkins服务器如该SO问题所示,但由于某种原因,我用来尝试下载工件的URL一直给我404错误。 这些是我尝试访问的链接,但无济于事

  • 我想从groovy管道检查是否收集了特定的文件(工件)。 如何访问文物列表? 请注意,我正在寻找一种不意味着修改收集工件的代码的解决方案。这是因为这段代码在多个地方,我只需要在最后做些事情,而不是在任何可能的存档工件调用中(可以隐藏很深)。

  • 我们有一个Jenkins构建,它在Jenkins1.596.2上成功运行,我们正在迁移到运行Jenkins2.60.1的新构建机器 作为构建配置的一部分,我们有一个可扩展的Choice参数,并使用系统Groovy Choice参数作为选择提供者。然后,我们使用Groovy脚本获取选择列表。 此Groovy脚本需要访问Jenkins构建环境变量之一,该变量设置在构建配置的全局属性部分(在环境变量下)