[英]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 }
类的东西来访问工件,但是您需要将rawBuild
, artifacts
和fileName
属性列入白名单。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.