Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
Tim Jacomb
that's a different one to the invite
which one @oleg-nenashev
Oleg Nenashev
sorry for confusion
Tim Jacomb
@jonbrohauge joining?
ah there you are :)
Jon Brohauge
sry had to run for a charger... 1% power isn't much for a video conference
Wadeck Follonier
Hey there, perhaps you could be interested in the Jenkins PR about API Token: jenkinsci/jenkins#4027
that could potentially help you with the crumbIssuer problem
Joseph Petersen
@Wadeck perhaps a downstream test in JCasC would be nice :)

Hi there :) I need some help with the file credentials. My configuration looks like this:

      - credentials:
          - file:
                  description: "google-service-account"
                  fileName: "jenkins_google-service-account.json"
                  id: "google-service-account"
                  secretBytes: ${GOOGLE-SERVICE-ACCOUNT_JSON}
                  scope: GLOBAL

After I startet Jenkins, the credential was created successfully. But it seems, that the value of the secret isn't correct, because my build fails. If I upload the json file through the web interface of Jenkins, the build works. ${GOOGLE-SERVICE-ACCOUNT_JSON} is a base64 encoded json file. Anyone has an idea how I can fix it?

Joseph Petersen
@KreativeKrise what does the log say? JCasC will log a warning if secret is not resolved ⚠️
@casz which log exactly?
Tim Jacomb
system log
Sep 11, 2019 1:26:08 PM WARNING io.jenkins.plugins.casc.BaseConfigurator createAttribute

Can't handle class org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl#file: type is abstract but not Describable.

Sep 11, 2019 1:26:08 PM WARNING io.jenkins.plugins.casc.Attribute describe

Failed to export
    at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.describe(DataBoundConfigurator.java:283)
    at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$convertToNode$de0cd4f8$1(HeteroDescribableConfigurator.java:283)
    at io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)
    at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.convertToNode(HeteroDescribableConfigurator.java:283)
    at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$describe$5(HeteroDescribableConfigurator.java:107)
    at io.vavr.control.Option.map(Option.java:392)
    at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.describe(HeteroDescribableConfigurator.java:107)
    at io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.describe(HeteroDescribableConfigurator.java:55)
    at io.jenkins.plugins.casc.Attribute._describe(Attribute.java:264)
    at io.jenkins.plugins.casc.Attribute.describe(Attribute.java:239)
    at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.describe(DataBoundConfigurator.java:308)
    at io.jenkins.plugins.casc.Attribute._describe(Attribute.java:264)
    at io.jenkins.plugins.casc.Attribute.describe(Attribute.java:239)
    at com.cloudbees.plugins.credentials.casc.SystemCredentialsProviderConfigurator.describe(SystemCredentialsProviderConfigurator.java:76)
    at com.cloudbees.plugins.credentials.casc.SystemCredentialsProviderConfigurator.describe(SystemCredentialsProviderConfigurator.java:48)
    at io.jenkins.plugins.casc.Attribute._describe(Attribute.java:264)
    at io.jenkins.plugins.casc.Attribute.describe(Attribute.java:243)
    at com.cloudbees.plugins.credentials.casc.CredentialsRootConfigurator.describe(CredentialsRootConfigurator.java:90)
    at com.cloudbees.plugins.credentials.casc.CredentialsRootConfigurator.describe(CredentialsRootConfigurator.java:52)
    at io.jenkins.plugins.casc.ConfigurationAsCode.export(ConfigurationAsCode.java:442)
    at io.jenkins.plugins.casc.ConfigurationAsCode.doViewExport(ConfigurationAsCode.java:411)
    at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
    at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
    at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
    at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77)
    at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
    at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
    at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
    at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
    at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
    at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
    at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:246)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
    at io.jenkins.blueocean.Resource

I started a new installation of Jenkins and now I just get this warning:

Sep 12, 2019 8:00:10 AM WARNING io.jenkins.plugins.casc.BaseConfigurator createAttribute

Can't handle class org.jenkinsci.plugins.plaincredentials.impl.FileCredentialsImpl#file: type is abstract but not Describable.

But the credential is still not working.

Mark Waite
There had been suggestions that the configuration as code plugin efforts might want to move from working within the Cloud Native special interest group to working within the platform special interest group. The platform special interest group meets every two weeks for platform related projects and topics.
Meeting starts in about 20 minutes at https://zoom.us/j/848212302
Meeting agenda is at https://docs.google.com/document/d/1bDfUdtjpwoX0HO2PRnfqns_TROBOK8tmP6SgVhubr2Y/edit?usp=sharing
I'm not aware of any hot topics that configuration as code would need to discuss, just sharing notice...
Oleg Nenashev
@casz starting without you
Oleg Nenashev
Better late than never. Recording of the next yesterday;s meeting will be here: https://youtu.be/cTZuMOCbkPQ
Rodolfo Boer
hi, i have some problems while trying to configure jenkins via this plugin, is this the right place to ask for help?
Daniel Estermann
@oleg-nenashev I'll attend to this
Joseph Petersen
@move-z yup
Oleg Nenashev
@d.esterman_gitlab cool. Unfortunately I will be in Bordeaux at https://orconf.org/
Oleg Nenashev
Reviewed/updated https://issues.jenkins-ci.org/secure/Dashboard.jspa?selectPageId=17346 today. Should reflect the current state, more or less
Tim Jacomb
Rodolfo Boer
hello, i took some time to do more tests
i'm trying to replicate the configuration of an existing jenkins instance entirely with this plugin, i've just started
currently i have setup the casc plugin to load this file at startup (jenkins.yaml):
  labelString: master

    - envVars:
          - key: PATH+LOCAL
            value: /usr/local/bin

      startTls: true
      groupLookupStrategy: AUTO
        - name: {{domain}}
          servers: {{dc}}:3268
          bindName: {{bind}}
          bindPassword: {{password}}
          tlsConfiguration: TRUST_ALL_CERTIFICATES

    url: https://{{hostname}}
sorry i'll try to improve formatting
it loads fine and all the items are set in the config except for the securityRealm (for which I already installed the active active directory plugin)
i see nothing in the logs suggesting there are problems with the entry, it just has no effect
i also tried with this simpler config instead of activeDirectory but it makes no difference:
      allowsSignup: true
an interesting detail: if I go to the configuration-as-code settings page and click "reload existing configuration", it actually gets loaded, both the local and the active directory version, so the problem seems to be only at startup
final note: i'm using jenkins 2.176.3 (current stable), active directory plugin 2.16 and configuration as code plugin 1.30
Rodolfo Boer
i think the simplest solution would be to trigger a reload after startup using the cli or an post
any comments from the experts?
Joseph Petersen
@move-z what if you configure it in UI first and use the export feature?
@move-z I haven't used the active directory plugin. Have you considered using the ldap plugin instead?
        size: 100
        ttl: 30
      - groupSearchBase: "OU=Jenkins,OU=Security Groups,OU=DevOps"
        groupSearchFilter: "(&(cn={0})(objectclass=group))"
        ignoreIfUnavailable: true
        inhibitInferRootDN: false
        managerDN: "jenkinsldap"
        managerPasswordSecret: "${LDAP_PASSWORD}"
        rootDN: "dc=company,dc=io"
        server: "ldaps://ldap.company.io:3269"
        userSearch: "sAMAccountName={0}"
      disableMailAddressResolver: false
      groupIdStrategy: "caseInsensitive"
      userIdStrategy: "caseInsensitive"
Joseph Petersen
Tim Jacomb
DevOps is a culture not a team :wink:
Joseph Petersen
@timja legacy :sob: The team is called BAT nowadays and we still try to spread DevOps :laughing:
Tim Jacomb
business acceptance testers? :wink:
Joseph Petersen
batman :laughing:
We have a whole Marvel vs DC Comics for all of our team names. And those who have adopted DevOps are called Batmen :)
The acronym for bat is Build Automate and Test :sweat_smile:
Karol Lassak
Hello guys.. din not looked at plugin development for some time.. maybe in meantime pipeline support was added?