Jenkins 詹金斯:更改不同作业的构建历史记录
我有两份詹金斯的工作:Jenkins 詹金斯:更改不同作业的构建历史记录,jenkins,Jenkins,我有两份詹金斯的工作: 建设项目 部署它 两者都工作得很好,我可以从项目构建作业触发部署作业 步骤: 使用应用程序作业中的参数构建>>检查在开发中部署>>构建 在应用程序作业中的构建历史中添加一个黄色星形标记-使用groovy后期构建操作(下面的代码) 作为生成后操作触发部署作业 问题: 部署作业完成且失败后,从部署作业更改应用程序作业的构建历史记录(黄色星号>>例如红色星号)。我该怎么做 if(“true”.equals(manager.build.buildVariables.get('
- 建设项目
- 部署它
这花了我一段时间来发展,但现在它的作品像一个魅力后建设的行动→ 添加生成后操作→ Groovy后期构建→ Groovy脚本:
导入hudson.model.Build
导入hudson.model.Cause
导入hudson.model.Project
导入jenkins.model.jenkins
导入org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildAction
def log=manager.listener.logger
log.println('------------------------)
log.println('Groovy Postbuild')
//装饰这个建筑
manager.addShortText('部署在DEV上的快照'、'黑色'、'金色'、'1px'、'黑色')
manager.addInfoBadge('在开发人员上部署的快照')
manager.addBadge('star-gold.png','SNAPSHOT deployed on DEV')
//装饰上游建筑
Jenkins-Jenkins=Jenkins.getInstance()
List projects=jenkins.getAllItems(Project.class)
log.println(“此生成:'${manager.build}'-->“+manager.build.getResult())
println('装饰以下上游版本:')
//log.println(manager.build.getUpstreamBuilds())//打印“[:]”,因此使用它来获取上游版本不起作用
原因(原因:manager.build.getCauss()){
用于(项目:项目){
if(cause.toString().contains(project.getName())){
int no=cause.getUpstreamBuild()
Build usb=project.getBuildByNumber(否)
log.println(“${usb}”)
usb.getActions().add(GroovyPostbuildAction.createShortText(
'快照部署在DEV上','黑色','金色','1px','黑色');
usb.getActions().add(GroovyPostbuildAction.createInfoBadge(
“在开发人员上部署的快照”)
usb.getActions().add(GroovyPostbuildAction.createBadge(
'star gold.png','SNAPSHOT deployed on DEV'))
}
}//用于(项目)
}//原因
log.println('------------------------)
注:
无论构建结果如何,这都会添加徽章,但我相信您可以轻松添加适当的if
。有关移除徽章的信息,请参阅
参考资料:
导入hudson.model.Build
导入hudson.model.Cause
导入hudson.model.Project
导入jenkins.model.jenkins
导入org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildAction
def log=manager.listener.logger
log.println('------------------------)
log.println('Groovy Postbuild')
//装饰这个建筑
manager.addShortText('部署在DEV上的快照'、'黑色'、'金色'、'1px'、'黑色')
manager.addInfoBadge('在开发人员上部署的快照')
manager.addBadge('star-gold.png','SNAPSHOT deployed on DEV')
//装饰上游建筑
Jenkins-Jenkins=Jenkins.getInstance()
List projects=jenkins.getAllItems(Project.class)
log.println(“此生成:'${manager.build}'-->“+manager.build.getResult())
println('装饰以下上游版本:')
//log.println(manager.build.getUpstreamBuilds())//打印“[:]”,因此使用它来获取上游版本不起作用
原因(原因:manager.build.getCauss()){
用于(项目:项目){
if(cause.toString().contains(project.getName())){
int no=cause.getUpstreamBuild()
Build usb=project.getBuildByNumber(否)
log.println(“${usb}”)
usb.getActions().add(GroovyPostbuildAction.createShortText(
'快照部署在DEV上','黑色','金色','1px','黑色');
usb.getActions().add(GroovyPostbuildAction.createInfoBadge(
“在开发人员上部署的快照”)
usb.getActions().add(GroovyPostbuildAction.createBadge(
'star gold.png','SNAPSHOT deployed on DEV'))
}
}//用于(项目)
}//原因
log.println('------------------------)
注:
无论构建结果如何,这都会添加徽章,但我相信您可以轻松添加适当的if
。有关移除徽章的信息,请参阅
参考资料: