Skip to content

JCasC and Matrix Auth - Error on startup #1446

@syork

Description

@syork

I have an issue when configuring the authorizationStrategy when using GitHub oAuth with Matrix Auth.

I’m not sure if this is a syntax issue on my part or a problem with Jenkins or Matrix Auth. If someone could point me in the right direction I'd greatly appreciate it.


Details:

The securityRealm works correctly but as soon as I add my authorizationStrategy Jenkins fails to load.

My values.yaml contains the following:

JCasC:

  securityRealm: |-
    github:
      clientID: "XXX"
      clientSecret: "XXX"
      githubApiUri: "https://api.github.com"
      githubWebUri: "https://github.com"
      oauthScopes: "read:org,user:email"
  
  authorizationStrategy: |-
    globalMatrix:
      entries:
        - group:
          name: "someorg*somegroup"
          permissions:
            - "Overall/Administer"
        - group:
          name: "someorg*someothergroup"
          permissions:
            - "Job/Build"
            - "Job/Cancel"
            - "Job/Read"
            - "Overall/Read"
            - "View/Read"'

On startup I get the following error:

at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:345)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:356)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:733)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:854)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:868)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:811)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.ConfigurationAsCode.lambda$checkWith$9(ConfigurationAsCode.java:868)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.check(BaseConfigurator.java:293)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:360)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:57)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.check(HeteroDescribableConfigurator.java:94)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.configure(HeteroDescribableConfigurator.java:86)
 at PluginClassLoader for configuration-as-code//io.vavr.Tuple2.apply(Tuple2.java:240)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$3(HeteroDescribableConfigurator.java:88)
 at PluginClassLoader for configuration-as-code//io.vavr.control.Option.map(Option.java:391)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$configure$2(HeteroDescribableConfigurator.java:88)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.doConfigure(HeteroDescribableConfigurator.java:311)
 at PluginClassLoader for configuration-as-code//io.vavr.CheckedFunction0.lambda$unchecked$52349c75$1(CheckedFunction0.java:247)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.HeteroDescribableConfigurator.lambda$doConfigure$16668e2$1(HeteroDescribableConfigurator.java:311)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:283)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:355)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.configure(DataBoundConfigurator.java:81)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:283)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:374)
 at PluginClassLoader for configuration-as-code//io.jenkins.plugins.casc.BaseConfigurator.handleUnknown(BaseConfigurator.java:389)
Available attributes : group, user, userOrGroup
io.jenkins.plugins.casc.UnknownAttributesException: definitionEntry: Invalid configuration elements for type: class org.jenkinsci.plugins.matrixauth.integrations.casc.DefinitionEntry : permissions,name.
2025-08-01 20:36:37.084+0000 [id=30] SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins

Jenkins setup:

Jenkins: 2.516.1
OS: Linux - 6.6.87+
Java: 21.0.8 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
antisamy-markup-formatter:173.v680e3a_b_69ff3
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
asm-api:9.8-163.vb_2a_96d3f9c3c
authentication-tokens:1.131.v7199556c3004
bootstrap5-api:5.3.7-2
bouncycastle-api:2.30.1.80-261.v00c0e2618ec3
branch-api:2.1235.v04e86c7ce54c
caffeine-api:3.2.2-178.v353b_8428ed56
checks-api:373.vfe7645102093
cloudbees-folder:6.1037.v4cb_8573b_72a_a_
command-launcher:123.v37cfdc92ef67
commons-lang3-api:3.18.0-98.v3a_674c06072d
commons-text-api:1.14.0-194.v804a_dc3a_1b_d8
configuration-as-code:1985.vdda_32d0c4ea_b_
credentials:1419.v2337d1ceceef
credentials-binding:702.vfe613e537e88
dark-theme:574.va_19f05d54df5
display-url-api:2.209.v582ed814ff2f
durable-task:595.ve87b_f1318d67
echarts-api:6.0.0-1
eddsa-api:0.3.0.1-19.vc432d923e5ee
font-awesome-api:7.0.0-1
ghprb:1.42.2
git:5.7.0
git-client:6.2.0
github:1.44.0
github-api:1.321-488.v9b_c0da_9533f8
github-branch-source:1834.v857721ea_74c6
github-oauth:651.v135e939e8b_60
gson-api:2.13.1-153.vb_3d0c48a_a_b_4a_
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
jackson2-api:2.19.2-408.v18248a_324cfe
jakarta-activation-api:2.1.3-2
jakarta-mail-api:2.1.3-2
javax-activation-api:1.2.0-8
javax-mail-api:1.6.2-11
jaxb:2.3.9-133.vb_ec76a_73f706
jdk-tool:83.v417146707a_3d
jjwt-api:0.11.5-120.v0268cf544b_89
job-import-plugin:122.v35289550f1e6
joda-time-api:2.14.0-149.v1c3ce991d1b_9
jquery3-api:3.7.1-3
json-api:20250517-163.v1c5da_e99c775
json-path-api:2.9.0-178.vca_b_c71881321
junit:1335.v6b_a_a_e18534e1
kubernetes:4358.vcfd9c5a_0a_f51
kubernetes-client-api:7.3.1-256.v788a_0b_787114
kubernetes-credentials:203.v85b_9836a_f44b_
mailer:515.vd788654779b_1
matrix-auth:3.2.6
matrix-project:849.v0cd64ed7e531
metrics:4.2.32-481.v75f035fdc894
mina-sshd-api-common:2.15.0-161.vb_200831a_c15b_
mina-sshd-api-core:2.15.0-161.vb_200831a_c15b_
okhttp-api:4.11.0-189.v976fa_d3379d6
pipeline-build-step:571.v08a_fffd4b_0ce
pipeline-groovy-lib:752.vdddedf804e72
pipeline-input-step:532.v9e7466cb_4406
pipeline-milestone-step:138.v78ca_76831a_43
pipeline-model-api:2.2258.v4e96d2b_da_f9b_
pipeline-model-definition:2.2258.v4e96d2b_da_f9b_
pipeline-model-extensions:2.2258.v4e96d2b_da_f9b_
pipeline-stage-step:322.vecffa_99f371c
pipeline-stage-tags-metadata:2.2258.v4e96d2b_da_f9b_
plain-credentials:199.v9f8e1f741799
plugin-util-api:6.1.0
prism-api:1.30.0-1
scm-api:707.v749f968369d4
script-security:1378.vf25626395f49
snakeyaml-api:2.3-125.v4d77857a_b_402
ssh-credentials:361.vb_f6760818e8c
sshd:3.372.v5d04a_e92d8cf
structs:350.v3b_30f09f2363
theme-manager:319.v9193461f9671
token-macro:477.vd4f0dc3cb_cf1
trilead-api:2.209.v0e69b_c43c245
variant:70.va_d9f17f859e0
workflow-aggregator:608.v67378e9d3db_1
workflow-api:1382.veca_a_efe062fa_
workflow-basic-steps:1079.vce64b_a_929c5a_
workflow-cps:4173.v4a_1fd14533f1
workflow-durable-task-step:1444.v10879b_0a_6b_7b_
workflow-job:1540.v295eccc9778f
workflow-multibranch:810.v6b_6e77da_7058
workflow-scm-step:437.v05a_f66b_e5ef8
workflow-step-api:706.v518c5dcb_24c0
workflow-support:976.vb_d9493c2eb_09

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions