Jenkins set a badge as a pre-build step

£可爱£侵袭症+ 提交于 2020-01-11 05:55:55

问题


I'm not sure I have terminology quite correct here, so I will try to explain as best as possible. I use Jenkins to run our Java automation. There are lots of long-running (2-10 hours) jobs executing constantly against different versions of the product under test. I need a way to look quickly at the Build History box of a job, and see which job is testing which product version.

I've used the Groovy Postbuild plugin successfully to add a badge (I think that is what it is) to the right of the build in the Build History Box. The actual groovy command is:

manager.addShortText(version, "grey", "white", "0px", "white")

The problem with this, is that it does not run until the build is complete. I need to do something like this before the build starts. (I will have access to the version pre-build, as it is passed in as a parameter)


回答1:


You could use the Groovy Plugin (not groovy post-build) and execute a script as first action of your build (you need to use a system script in order to access Jenkins' classes.

Note however, that the mananger in groovy post build plugin is a shortcut, so you would need something like:

build.getActions().add(GroovyPostbuildAction.createShortText(text));

Update:

Since the above construct does not quite work, try:

 def action = new org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildAction(null, text);
 action.color = "grey";
 build.getActions().add(action);

Alternativly, you could just set the description:

build.description = text


来源:https://stackoverflow.com/questions/22563405/jenkins-set-a-badge-as-a-pre-build-step

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!