Конфигурация Jenkins в многопользовательском режиме завершается неудачно, когда запрашиваются учетные данные для webhook office365 - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть Jenkinsfile, настроенный следующим образом

 pipeline {
    agent { label 'linux' }
    options {
      office365ConnectorWebhooks([
        [name: "Office 365", 
         url: credentials("office365-tool-building-webhook-url"),
         notifyFailure: true,
         notifySuccess: true
        ]
      ])
    }

Настройка отлично работает, если я добавлю реальный URL в параметр url:, но я хочу, чтобы этот URL был частью учетных данных. Поэтому я создал секретный ключ, и когда я запускаю этот файл, я получаю

[Office365connector] Matched status 'FAILURE' for webhook with name 'Office 365'.
java.lang.UnsupportedOperationException: no known implementation of class java.lang.String is using symbol ‘credentials’
    at org.jenkinsci.plugins.structs.describable.DescribableModel.resolveClass(DescribableModel.java:570)
    at org.jenkinsci.plugins.structs.describable.UninstantiatedDescribable.instantiate(UninstantiatedDescribable.java:207)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:466)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.buildArguments(DescribableModel.java:409)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:329)
Caused: java.lang.IllegalArgumentException: Could not instantiate {name=Office 365, notifyFailure=true, url=@credentials(<anonymous>=office365-tool-building-webhook-url), notifySuccess=true} for jenkins.plugins.office365connector.Webhook
    at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:334)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:474)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.coerceList(DescribableModel.java:585)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.coerce(DescribableModel.java:458)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.buildArguments(DescribableModel.java:409)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:329)
    at org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:272)
    at sun.reflect.GeneratedMethodAccessor1133.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
    at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:47)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callSafe(AbstractCallSite.java:87)
    at org.jenkinsci.plugins.pipeline.modeldefinition.Utils.instantiateDescribable(Utils.groovy:457)
    at org.jenkinsci.plugins.pipeline.modeldefinition.Utils$instantiateDescribable$18.callStatic(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
    at org.kohsuke.groovy.sandbox.impl.Checker$2.call(Checker.java:191)
    at org.kohsuke.groovy.sandbox.GroovyInterceptor.onStaticCall(GroovyInterceptor.java:35)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onStaticCall(SandboxInterceptor.java:186)
    at org.kohsuke.groovy.sandbox.impl.Checker$2.call(Checker.java:189)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedStaticCall(Checker.java:193)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:100)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
Caused: java.lang.IllegalArgumentException: Could not instantiate {webhooks=[{name=Office 365, url=@credentials(<anonymous>=office365-tool-building-webhook-url), notifyFailure=true, notifySuccess=true}]} for jenkins.plugins.office365connector.WebhookJobProperty

. Я подозреваю, что поля options () хотят, чтобы некоторые магические значения c определяли учетные данные, а вызову нужен другой синтаксис.

Обратите внимание, что я полностью декларативен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...