[英]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.