当我定义 BooleanParameterDefinition 时,Jenkins 的 Job DSL 抛出 ConcurrentModificationException

Jenkins' Job DSL throws ConcurrentModificationException when I define a BooleanParameterDefinition

我正在尝试将布尔参数添加到现有的 Jenkins 作业中,但是当我添加它时,我的 seedjob 停止工作。

我的工作定义:

job('ci') {
    description 'Build and test the app.'
    scm {
        github 'sheehan/job-dsl-playground'
    }
    steps {
        gradle 'test'
    }
    publishers {
        archiveJunit 'build/test-results/**/*.xml'
    }
    configure { project ->
        project / 'properties' / 'hudson.model.ParametersDefinitionProperty' {
            'parameterDefinitions'  {
                'hudson.model.BooleanParameterDefinition' {
                    name('my-param')
                    description("my-param-description")
                    defaultValue(true)
                }
            }
        }
    }
}

您可以通过粘贴此页面中的作业定义代码来重现错误:https://job-dsl.herokuapp.com/

错误仍然存​​在,但我设法通过删除 BooleanParameterDefinition 的描述来解决它。所以我的最终代码如下所示:

job('ci') {
    description 'Build and test the app.'
    scm {
        github 'sheehan/job-dsl-playground'
    }
    steps {
        gradle 'test'
    }
    publishers {
        archiveJunit 'build/test-results/**/*.xml'
    }
    configure { project ->
        project / 'properties' / 'hudson.model.ParametersDefinitionProperty' {
            'parameterDefinitions'  {
                'hudson.model.BooleanParameterDefinition' {
                    name('my-param')
                    defaultValue(true)
                }
            }
        }
    }
}