检查是否存在另一个管道
Check if another pipeline exists
虽然我是 运行 Jenkins 管道,但我需要检查是否有其他具有指定名称的作业,例如 "Build712"。我该怎么办?
谢谢,
塞尔吉奥
一种可能是使用 copyArtifacts Plugin 将 small/empty 文件从另一个构建复制到您当前的工作区。
例如
copyArtifacts projectName: 'MyFolder/My%2FJob/master', target: 'artifacts'
提示:您需要将空格替换为 %2F
如果找不到作业,此命令将失败,因为 optional 标志默认为 false。
然后你可以
- 使用带有 try-catch 的脚本块
使用 copyArtifacts 的 optional 标志并使用
检查文件是否存在
if (!fileExists('result.txt')) {}
我知道,这是一种解决方法。
可能还有一些其他选项使用 Jenkins.getInstance().getItemByFullName()
。
要检查任何 jenkins 作业中是否存在某些构建名称,您可以编写 groovy 脚本:
Jenkins.instance.getAllItems(AbstractItem.class).each {
jobName=it.fullName.toString()
if(Hudson.instance.getJob(jobName).getBuildByNumber(10).getProperties()) {
println(jobName)
}
};
这将打印出所有 buildNumber 为 10 的作业名称。这只是一个示例,您可以从这里开始并调整它以完全匹配您要查找的内容。
虽然我是 运行 Jenkins 管道,但我需要检查是否有其他具有指定名称的作业,例如 "Build712"。我该怎么办?
谢谢, 塞尔吉奥
一种可能是使用 copyArtifacts Plugin 将 small/empty 文件从另一个构建复制到您当前的工作区。
例如
copyArtifacts projectName: 'MyFolder/My%2FJob/master', target: 'artifacts'
提示:您需要将空格替换为 %2F
如果找不到作业,此命令将失败,因为 optional 标志默认为 false。 然后你可以
- 使用带有 try-catch 的脚本块
使用 copyArtifacts 的 optional 标志并使用
检查文件是否存在if (!fileExists('result.txt')) {}
我知道,这是一种解决方法。
可能还有一些其他选项使用 Jenkins.getInstance().getItemByFullName()
。
要检查任何 jenkins 作业中是否存在某些构建名称,您可以编写 groovy 脚本:
Jenkins.instance.getAllItems(AbstractItem.class).each {
jobName=it.fullName.toString()
if(Hudson.instance.getJob(jobName).getBuildByNumber(10).getProperties()) {
println(jobName)
}
};
这将打印出所有 buildNumber 为 10 的作业名称。这只是一个示例,您可以从这里开始并调整它以完全匹配您要查找的内容。