当前位置: 首页 > 面试题库 >

job-dsl-core jar版本更新为1.44,githubPullRequest关闭不起作用

伊锦
2023-03-14
问题内容

我们计划将job-dsl-core版本从1.42更新到1.44,但在最新版本中,不推荐使用pullRequest
{}闭包,并替换为githubPullRequest {}闭包,如迁移文档中所述,请参见 https://github.com/jenkinsci /
job-dsl-plugin / wiki / Migration#github-pull-request-
builder
。当我尝试使用上述建议更新代码时,出现以下错误:

No signature of method: javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.githubpullRequest() is applicable for argument types: (com.xxx.dva.pipeline.generator.utils.JobUtil$_addGithubPullRequestBuilderConfig_closure2_closure22) values: [com.xxx.dva.pipeline.generator.utils.JobUtil$_addGithubPullRequestBuilderConfig_closure2_closure22@7e3918d6]
at sun.reflect.GeneratedConstructorAccessor17.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:198)
at javaposse.jobdsl.dsl.AbstractExtensibleContext.methodMissing(AbstractExtensibleContext.groovy:20)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:830)
at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1128)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1081)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:723)

代码更改为:

版本1.42

job.triggers {
        pullRequest {
            admin(JobConstants.GITHUB_PR_ADMIN)
            orgWhitelist(JobConstants.ORG_WHITE_LIST)
            cron('* * * * *')
            permitAll()
            allowMembersOfWhitelistedOrgsAsAdmin()
            triggerPhrase(phrase)
            onlyTriggerPhrase(useTriggerPhrase)
            extensions {
                commitStatus {
                    context('Pull Request Pipeline')
                    triggeredStatus('Build Triggered!')
                    startedStatus('Build Started!')
                    completedStatus('SUCCESS', 'Went green! Go ahead and merge ${ghprbSourceBranch} into ${ghprbTargetBranch}.')
                    completedStatus('FAILURE', 'Something went wrong. Click details!')
                    completedStatus('ERROR', 'Something went really wrong. Click details!')
                }
            }
        }
    }

版本1.44

 job.triggers {
        githubPullRequest {
            admin(JobConstants.GITHUB_PR_ADMIN)
            orgWhitelist(JobConstants.ORG_WHITE_LIST)
            cron('* * * * *')
            permitAll()
            allowMembersOfWhitelistedOrgsAsAdmin()
            triggerPhrase(phrase)
            onlyTriggerPhrase(useTriggerPhrase)
            extensions {
                commitStatus {
                    context('Pull Request Pipeline')
                    triggeredStatus('Build Triggered!')
                    startedStatus('Build Started!')
                    completedStatus('SUCCESS', 'Went green! Go ahead and merge ${ghprbSourceBranch} into ${ghprbTargetBranch}.')
                    completedStatus('FAILURE', 'Something went wrong. Click details!')
                    completedStatus('ERROR', 'Something went really wrong. Click details!')
                }
            }
        }
    }

如何解决此问题?


问题答案:

Job DSL 1.43中已弃用了对GitHub Pull Request Builder插件的内置支持。GitHub Pull Request
Builder插件的版本1.29.7或更高版本通过扩展提供了新语法。因此,您需要将GitHub Pull Request
Builder插件更新为1.29.7或更高版本。



 类似资料:
  • 我已经将Gradle构建脚本转换为Kotlin DSL。自从我开始一个小的新项目以来,一切都按计划进行。当引用越来越多的依赖项时,我希望将它们的版本号作为常量放在脚本中,尤其是那些在多个地方使用的版本。 在我的app/build.gradle中。kts我基本上有以下几点: Android Studio检查告诉我,我应该升级到1.1.0。我把它改成了 但现在我再也听不到那个检查提示了。 我将我的科特

  • 问题内容: 浏览器无法正确识别的原因是什么: 只有这是公认的: 这是否打破了XHTML支持的概念? 注意:此声明至少对于所有IE(6-8 beta 2)都是正确的。 问题答案: XHTML 1规范说: С.3。元素最小化和空元素内容 给定一个其内容模型不是元素的空实例(例如,空的标题或段落),请不要使用最小化形式(例如use 和not )。 XHTMLDTD将脚本元素指定为:

  • 问题内容: 并尝试应用他们的解决方案(以及至少1/2十二种其他实现),但没有一个起作用。 这是具有循环的函数: 这是正在写入我的消息的errorLogging函数(注意,我无法在同一JavaScript文件中“写入”消息,因为我需要[角度]向该文件中注入另一个引用,这会导致循环参考,代码将无法运行) 我还可以采用什么其他方法阻止它返回同步记录的最后一个“ id”(当它只是出现错误的第一个记录时)?

  • 问题内容: 浏览器无法正确识别的原因是什么: 只有这是公认的: 这是否打破了XHTML支持的概念? 注意:此声明至少对于所有IE(6-8 beta 2)都是正确的。 问题答案: XHTML 1规范说: 给定一个其内容模型不是元素的空实例EMPTY(例如,空的标题或段落),请不要使用最小化形式(例如use 和not )。 XHTML DTD将脚本元素指定为:

  • 我使用的是morphia 0.109,并定义了一个基类,如下所示: 和预期的Morphia实体 null 编辑以添加:我正在使用的保存过程:

  • 我试图用1.8作为目标版本在mac上编译一个jar,但是javac失败了,消息是“目标版本无效”。 /usr/local/bin://usr/bin://bin://usr/sbin://sbin://usr/local/bin://usr/local/mysql/bin://opt/x11/bin://usr/local/git/bin://developer/tools/panda3D (因为