如何获取作业源代码管理列表并为所有作业构建
How to Get a list of job source code management and build for all jobs
我正在寻找一种方法来获取配置中的构建和源代码管理部分的列表。
例如:我有 Testcomplete 和 SoupUI Pro 插件的作业,在每个作业中,在配置部分,我们输入 git 存储库名称、测试套件名称、目录等...
目前,我必须去每个作业,单击配置并获取我需要的值,如果我可以获得所有作业的所有这些信息,那就太好了。我查看了配置切片,但没有我需要的部分。
提前感谢您的帮助。
我没有使用过你提到的任何一个插件,但是这个粗糙的小 groovy 脚本会找到每个 Freestyle 作业,如果它有一个 gitSCM 步骤,报告主要 Git 回购 url,然后对于每个“调用 top-level Maven 目标”,报告 POM 值(如果已设置)。
运行 来自 <JENKINS_URL>/script
或在具有“执行系统 Groovy 脚本”的 Jenkins 作业中(不是“执行 Groovy 脚本").
您可以修改以查找插件的构建步骤和属性。您可以通过检查 <job>/config.xml
而不是 <job>/configure
.
来获取值
已更新 示例,具体包括查找 TestComplete plugin (com.smartbear.jenkins.plugins.testcomplete.TcTestBuilder
) 值。
ReadyAPI Functional Testing plugin - (com.smartbear.ready.jenkins.JenkinsSoapUIProTestRunner
)
的类似方法留给 OP
警告: soapui-pro-functional-testing:1.6 以明文形式传输密码。 SmartBear 的 Zephyr 产品也是如此。不会激发人们对标语是“质量比以往任何时候都重要……我们会帮助您实现目标”的公司的信心。
Jenkins.instance.allItems.findAll() {
it instanceof hudson.model.FreeStyleProject
}.each { job ->
if (job.scm instanceof hudson.plugins.git.GitSCM) {
println job.fullName + ' | ' + job.scm.userRemoteConfigs.url[0]
job.builders.findAll() {
it instanceof hudson.tasks.Maven
}.each {step ->
println ' : ' + step?.pom
}
job.builders.findAll() {
it instanceof com.smartbear.jenkins.plugins.testcomplete.TcTestBuilder
}.each {step ->
if (step?.getLaunchType() == 'lcRoutine') {
println ' : ' + step?.getProject() + ' : ' + step?.getUnit() + ' : ' + step?.getRoutine()
}
}
}
}
return
ps:我确信有一种更简洁的迭代方法,但我无法完成所有工作。一定要使用“?”处理空值
例如:我有 Testcomplete 和 SoupUI Pro 插件的作业,在每个作业中,在配置部分,我们输入 git 存储库名称、测试套件名称、目录等...
目前,我必须去每个作业,单击配置并获取我需要的值,如果我可以获得所有作业的所有这些信息,那就太好了。我查看了配置切片,但没有我需要的部分。
提前感谢您的帮助。
我没有使用过你提到的任何一个插件,但是这个粗糙的小 groovy 脚本会找到每个 Freestyle 作业,如果它有一个 gitSCM 步骤,报告主要 Git 回购 url,然后对于每个“调用 top-level Maven 目标”,报告 POM 值(如果已设置)。
运行 来自 <JENKINS_URL>/script
或在具有“执行系统 Groovy 脚本”的 Jenkins 作业中(不是“执行 Groovy 脚本").
您可以修改以查找插件的构建步骤和属性。您可以通过检查 <job>/config.xml
而不是 <job>/configure
.
已更新 示例,具体包括查找 TestComplete plugin (com.smartbear.jenkins.plugins.testcomplete.TcTestBuilder
) 值。
ReadyAPI Functional Testing plugin - (com.smartbear.ready.jenkins.JenkinsSoapUIProTestRunner
)
警告: soapui-pro-functional-testing:1.6 以明文形式传输密码。 SmartBear 的 Zephyr 产品也是如此。不会激发人们对标语是“质量比以往任何时候都重要……我们会帮助您实现目标”的公司的信心。
Jenkins.instance.allItems.findAll() {
it instanceof hudson.model.FreeStyleProject
}.each { job ->
if (job.scm instanceof hudson.plugins.git.GitSCM) {
println job.fullName + ' | ' + job.scm.userRemoteConfigs.url[0]
job.builders.findAll() {
it instanceof hudson.tasks.Maven
}.each {step ->
println ' : ' + step?.pom
}
job.builders.findAll() {
it instanceof com.smartbear.jenkins.plugins.testcomplete.TcTestBuilder
}.each {step ->
if (step?.getLaunchType() == 'lcRoutine') {
println ' : ' + step?.getProject() + ' : ' + step?.getUnit() + ' : ' + step?.getRoutine()
}
}
}
}
return
ps:我确信有一种更简洁的迭代方法,但我无法完成所有工作。一定要使用“?”处理空值