繁体   English   中英

如何从Jenkins Pipeline Groovy脚本访问收集的工件?

[英]How to access collected artifacts from Jenkins pipeline groovy script?

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

如何访问文物列表?

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

请注意,我正在寻找一种解决方案,该解决方案并不意味着会修改收集工件的代码。 这是因为此代码在多个地方,我只需要在最后做点事情,而无需对archiveArtifacts进行任何可能的调用(可以将其深深地隐藏起来)。

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

呼叫以下网址。 插入作业名称和内部编号

  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"
}
]

可以使用currentBuild.rawBuild.artifacts.each { println it.fileName }类的东西来访问工件,但是您需要将rawBuildartifactsfileName属性列入白名单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM