簡體   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