Jenkins 2.289.2-系统管理-脚本命令行
Jenkins.instance.getAllItems(hudson.model.Job.class).each { job ->
// 先获取项目名(避免后续操作失败导致 jobName 未定义)
def jobName = "[未知项目]"
try {
jobName = job.fullName // 确保 jobName 在 try 块外已定义
// 检查项目是否有 SCM 配置
def scm = job.scm
if (scm instanceof hudson.plugins.git.GitSCM) {
def gitUrls = scm.userRemoteConfigs*.url.join(", ")
println("项目: ${jobName} | Git 地址: ${gitUrls}")
} else {
println("项目: ${jobName} | Git 地址: [未配置 Git 仓库]")
}
} catch (Exception e) {
// 如果 job.fullName 获取失败,尝试通过其他方式获取名称
try {
jobName = job.name // 使用简单名称(非完整路径)
} catch (Exception ignored) {}
println("项目: ${jobName} | 错误: ${e.message}")
}
}