使用Jenkins的Flat属性的Artifactory插件时出错

Aji*_*ste 2 groovy artifactory jenkins-plugins jenkins-pipeline

Jenkins 2.7.2管道作业在下载模式中不适用于"平面属性".

从通用Artifactory存储库(rb-artifactory)下载工件时,Jenkins管道作业会抛出此错误:

java.lang.NoClassDefFoundError: org/eclipse/jgit/util/StringUtils 
Run Code Online (Sandbox Code Playgroud)

我请求您的支持以解决此错误.

我们有以下下载架构:

def ar_download_logs = """{
  "files": [
    {
      "pattern": "${ar_url}/out/*",
      "flat": "1",
      "target": "logs/"
    }
  ]
}"""
def buildInfo1 = ar_server.download(ar_download_logs)
Run Code Online (Sandbox Code Playgroud)

"flat": "1"从String转换为Boolean时导致问题,它使用StringUtil并导致exception java.lang.NoClassDefFoundError.

如何在Artifactory插件的一些StringUtils包之间建立依赖关系:2.5.1使用字符串到布尔转换?

如果您查看发生异常的以下源代码,那么它是由堆栈跟踪给出的GenericDownloadExecutor.java的第79行.

https://github.com/jenkinsci/artifactory-plugin/blob/master/src/main/java/org/jfrog/hudson/pipeline/executors/GenericDownloadExecutor.java

boolean isFlat = file.getFlat() != null && StringUtils.toBoolean(file.getFlat());
Run Code Online (Sandbox Code Playgroud)

我还想分享一个用于该项目的插件:

  • Artifactory插件:2.5.1
  • Groovy:1.29
  • 常春藤插件:1.26
  • 管道:2.2
  • 管道:Groovy:2.7
  • 管道:工作:2.3

Eya*_*she 5

Artifactory 插件2.8.0 中包含针对此问题的修复程序:https : //www.jfrog.com/jira/browse/HAP-829


Dim*_*lev 5

安装git插件解决了这个问题.
为了使这一点生效,必须在安装后重新启动Jenkins.