我需要在Jenkins上删除构建(由用户或自动)后执行一些操作。
实际上,我需要以下内容:
关于#2:我使用Artifact Deployer插件来部署构建,但由于问题 删除构建后,https://issues.jenkins-ci.org/browse/JENKINS-26109构建不会在远程位置删除。
任何方式,我如何在删除构建时做些什么?也许我必须编写脚本或创建插件?
答案 0 :(得分:3)
有一个类RunListener,它有方法onDeleted。
做这样的事情:
import hudson.model.Run;
import hudson.model.listeners.RunListener;
import hudson.Extension;
@Extension
public class DeleteListener extends RunListener<Run> {
@Override
public void onDeleted(Run r) {
// your code here
}
}
此外,请记住,如果您删除了作业事件onDeleted will not be fired。
答案 1 :(得分:0)
我认为插件不是必需的。 您可以为此编写一个cron作业,该作业会连续检查构建目录以查找内容中的任何更改。
$JENKINS_HOME/jobs/your_job_here/builds/
如果删除了任何文件夹,则意味着手动/自动删除构建。然后,您可以触发邮件或执行您想要执行的任何任务,因为现在您知道构建已被删除。