缺少必需参数:"parsingRulesPath" 在 Jenkins DSL 中使用 logparser-step 时

Missing required parameter: "parsingRulesPath" when using logparser-step in Jenkins DSL

我有一个包含 logparser-step 的 Jenkins-Freestyle-job:

现在我想使用描述性管道语法将此作业转换为管道。因此,我使用了剪断的生成器,它为上面的输入提供了这个:

logParser projectRulePath: 'C:\Program Files (x86)\Jenkins\consoleparser.config.properties', showGraphs: true, unstableOnWarning: true, useProjectRule: true

然而,当我执行该作业时,出现以下错误:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 139: Missing required parameter: "parsingRulesPath" @ line 139, column 15.
                    logParser ([
                 ^

1 error

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:571)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:523)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:337)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:428)

我真的不知道全局规则和项目规则之间的区别是什么。然而,由于我的自由式工作按预期工作,我也只是将项目规则用于管道。

我正在使用 Log Parser Plugin 2.1

编辑:我将插件降级为 2.0,这似乎解决了问题。

似乎是 snipped-generator 中的一个错误,它不会创建强制性 属性 parsingRulesPath,或者在 2.1 版的插件中,因为在 v2.0 中也是如此。

我们可以通过提供 属性 parsingRulesPath:

来解决这个问题
logParser ([
    projectRulePath: 'C:\Program Files (x86)\Jenkins\consoleparser.config.properties', ,
    parsingRulesPath: '',
    showGraphs: true, 
    unstableOnWarning: true, 
    useProjectRule: true
])

https://issues.jenkins.io/browse/JENKINS-27208 中已经提到了类似的内容,但是 projectRulePath 中缺失了。