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

如何从Jenkins pipeline groovy脚本中访问收集的工件?

龚浩宕
2023-03-14

我想从groovy管道检查是否收集了特定的文件(工件)。

如何访问文物列表?

archiveArtifacts artifacts: 'foo.txt', allowEmptyArchive: true
...
// much later
// check if 'foo.txt' was collected?

请注意,我正在寻找一种不意味着修改收集工件的代码的解决方案。这是因为这段代码在多个地方,我只需要在最后做些事情,而不是在任何可能的存档工件调用中(可以隐藏很深)。

共有2个答案

武骁
2023-03-14

可以使用<code>currentBuild.rawBuild.artifacts之类的东西访问工件。每个{println it.fileName},但您需要将<code>rawBuild和<code>工件以及<code>fileName

华欣怡
2023-03-14

您可以使用XML/JSON格式的jenkins api获取工件列表。

调用下面的url。插入工作名称和内部版本号

  http://localhost:8080/jenkins/job/job-name/build-number/api/json?pretty=true 

Json示例:

"artifacts" : [
{
  "displayPath" : "temp.jar",
  "fileName" : "temp.jar",
  "relativePath" : "target/temp.jar"
}
]
 类似资料:
  • 我需要一个groovy脚本的代码示例,它可以访问存储在我的文件系统中任何地方的xml文件。在这个xml文件中,我有数据库凭据,我的脚本需要访问数据库。下面是xml 提前致谢:)

  • 问题内容: 我想保存传递给JobDSL作业的参数。我知道我可以引用各个参数,但是我想使代码通用。我将如何访问传递给作业的参数列表? 当前代码如下所示: 我希望能够使其看起来像: 是构建流程插件中可用的内容,而JobDSL插件中没有。 问题答案: DSL不提供对构建参数的访问。但是脚本可以访问Jenkins对象模型,因此您可以使用Jenkins API来检索当前构建及其参数:

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

  • 我必须从我的 Groovy 脚本访问一个环境变量。我没有使用詹金斯。如何获取变量?

  • 问题内容: 我积极使用脚本进行评分和汇总。我不知道的一件事是如何从脚本发出日志。我尝试了console.log,但后来没有成功。请让我知道,我该如何从常规脚本中发出日志。 问题答案: 这可以通过访问全局Elasticsearch记录器实例来完成。下面提供了它的常规示例。您也应该能够对javascript和其他脚本语言执行类似的操作。 因此,当您进行条款汇总时,可以执行以下操作- 一些来自Elast

  • 所以我试图从model.js导出/导入脚本,我使用这个 这是模型的脚本。js 这是渲染部分,我试图从model.js.访问食谱部分 我试图在这里访问配方部分:const{recipe}=model。装载配方; 但我正在变得不明确。请帮助我确定问题,是导出、导入还是我以错误的方式访问数据?另外,我应该如何将配方部分推送到状态配方? 非常感谢你。