You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jenkins DSL拉取Artifactory信息时getArtifactoryServers方法报错求助

报错原因

Jenkins Artifactory 3.x版本对内部API做了不兼容调整,你之前使用的getArtifactoryServers()方法已被正式移除,这是升级后脚本失效的直接原因。

修复后代码

替换原方法为3.x版本新增的getArtifactoryServerConfigs()即可,其余获取配置的方法保持兼容:

// Get Default Artifactory Info 适配Artifactory Plugin 3.x版本
import jenkins.model.*
def instance = Jenkins.get()
def defaultServer = Jenkins.instance.getDescriptor('org.jfrog.hudson.ArtifactoryBuilder').getArtifactoryServerConfigs()[0]
def defaultArtifactoryName = defaultServer.getName()
def defaultArtifactoryUrl = defaultServer.getUrl()
def defaultArtifactoryCredId = defaultServer.getDeployerCredentialsConfig().getCredentialsId()

注意事项

  • 若Jenkins配置了多台Artifactory服务器,可遍历getArtifactoryServerConfigs()返回的列表,按服务器名称筛选目标实例
  • 若Job DSL开启了脚本安全沙箱,需申请上述方法的调用权限,否则会触发安全拦截
  • 该API适配Artifactory Plugin 3.0~3.12.x全版本,和你当前使用的3.11.4版本完全兼容

内容的提问来源于stack exchange,提问作者Thomas Lord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:36:03