Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通知/检查Jenkins中的SCM轮询失败_Jenkins_Version Control_Scripting_Polling - Fatal编程技术网

通知/检查Jenkins中的SCM轮询失败

通知/检查Jenkins中的SCM轮询失败,jenkins,version-control,scripting,polling,Jenkins,Version Control,Scripting,Polling,我想检查或获取有关Jenkins中SCM轮询失败的通知(例如,当存储库URL发生更改或分支被删除时)。我想到了这些: a) Jenkins控制台脚本,它将列出此类错误作业 b) 为Jenkins配置/安装插件,以便以某种方式通知我这一事实(电子邮件,任何东西) c) 外部脚本/可执行文件(bash,python,…),它将列出由于SCM轮询失败而在过去X小时内失败的构建正如您在问题中提到的,解决此问题的一种方法是使用脚本。例如 由于Groovy Postbuild脚本在主机上运行,因此可以使用标

我想检查或获取有关Jenkins中SCM轮询失败的通知(例如,当存储库URL发生更改或分支被删除时)。我想到了这些:

a) Jenkins控制台脚本,它将列出此类错误作业

b) 为Jenkins配置/安装插件,以便以某种方式通知我这一事实(电子邮件,任何东西)


c) 外部脚本/可执行文件(bash,python,…),它将列出由于SCM轮询失败而在过去X小时内失败的构建

正如您在问题中提到的,解决此问题的一种方法是使用脚本。例如

由于Groovy Postbuild脚本在主机上运行,因此可以使用标准IO函数访问文件系统中每个作业的scm-polling.log

例如,假设是Windows主机,下面是一些(未经测试的)伪代码,可以为您提供一些想法:

一旦您将构建标记为失败,您就可以使用Jenkins的标准电子邮件功能发送电子邮件,或者使用。

是针对SVN的,但我认为它也适用于这种情况。
def error = false;
def jobsDirectory = new File("C:\\Jenkins\\jobs");
jobsDirectory.eachFile { 
    def pollingLog = new File(it.path + "\\scm-polling.log");
    if(pollingLog.text =~ "ERROR")
    {
        manager.listener.logger.println(it.path + " has polling errors.");
        error = true;
    }
}

if(error) {
    manager.build.buildFailure();
}