缺少必需参数:"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
中缺失了。
我有一个包含 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
中缺失了。