如果收集了特定文件(工件),我想从groovy管道中检查。
如何访问人工制品列表?
archiveArtifacts artifacts: 'foo.txt', allowEmptyArchive: true
...
// much later
// check if 'foo.txt' was collected?
请注意,我正在寻找一种解决方案,并不意味着修改收集工件的代码。这是因为这段代码在多个地方,我最后只需要做一些事情,而不是任何可能的archiveArtifacts调用(可以深深隐藏)。
答案 0 :(得分:1)
您可以使用XML / JSON格式的jenkins api获取工件列表。
拨打以下网址。插入job-name和build-number
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"
}
]
答案 1 :(得分:0)
可以使用currentBuild.rawBuild.artifacts.each { println it.fileName }
之类的东西来访问工件,但是您需要将rawBuild
,artifacts
和fileName
属性列入白名单。