Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-72012

Configuration is localized when exporting with JCasC Plugin

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • matrix-auth-plugin
    • Jenkins - 2.414.1
      matrix-auth-plugin 3.2
      Configuration as Code Plugin Version 1700.v6f448841296e
    • 3.2.1

      When exporting matrix-auth configuration with Jenkins Configuration as Code Plugin the resulting yaml contains translated entries as Permissions which will then fail to upload as the permissions are unknown. 

      We have a Jenkins configured with german language. The Export results in: 

       

      authorizationStrategy:
          projectMatrix:
            entries:
            - group:
                name: "XXX"
                permissions:
                - "Allgemein/Administer"
            - group:
                name: "YYY"
                permissions:
                - "Allgemein/Administer"
            - group:
                name: "ZZZ"
                permissions:
                - "Allgemein/Administer"
            - group:
                name: "authenticated"
                permissions:
                - "Allgemein/Read"
                - "Element/Build" 

       So the first Element before the "/" is translated. When uploading we get then:

      Error while serving https://bt.jenkins.ppt.vi.vector.int/manage/configuration-as-code/replace
      java.lang.IllegalArgumentException: Failed to parse 'Allgemein/Administer' --- no such permission
          at org.jenkinsci.plugins.matrixauth.AuthorizationContainer.parsePermission(AuthorizationContainer.java:232)
          at org.jenkinsci.plugins.matrixauth.integrations.casc.PermissionDefinition$StaplerConverterImpl.convert(PermissionDefinition.java:73)
          at io.jenkins.plugins.casc.impl.configurators.PrimitiveConfigurator.configure(PrimitiveConfigurator.java:45)
          at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:156)
          at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:75)
          at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274) 

       

          [JENKINS-72012] Configuration is localized when exporting with JCasC Plugin

          Manuel Josch created issue -
          Manuel Josch made changes -
          Description Original: When exporting matrix-auth configuration with Jenkins Configuration as Code Plugin the resulting yaml contains translated entries as Permissions which will then fail to upload as the permissions are unknown. 

          We have a Jenkins configured with german language. The Export results in: 

           
          {code:java}
          authorizationStrategy:
              projectMatrix:
                entries:
                - group:
                    name: "XXX"
                    permissions:
                    - "Allgemein/Administer"
                - group:
                    name: "YYY"
                    permissions:
                    - "Allgemein/Administer"
                - group:
                    name: "ZZZ"
                    permissions:
                    - "Allgemein/Administer"
                - group:
                    name: "authenticated"
                    permissions:
                    - "Allgemein/Read"
                    - "Element/Build" {code}
           So the first Element before the "/" is Translated. When uploading we get then:
          {code:java}
          Error while serving https://bt.jenkins.ppt.vi.vector.int/manage/configuration-as-code/replace
          java.lang.IllegalArgumentException: Failed to parse 'Allgemein/Administer' --- no such permission
              at org.jenkinsci.plugins.matrixauth.AuthorizationContainer.parsePermission(AuthorizationContainer.java:232)
              at org.jenkinsci.plugins.matrixauth.integrations.casc.PermissionDefinition$StaplerConverterImpl.convert(PermissionDefinition.java:73)
              at io.jenkins.plugins.casc.impl.configurators.PrimitiveConfigurator.configure(PrimitiveConfigurator.java:45)
              at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:156)
              at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:75)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274) {code}
           
          New: When exporting matrix-auth configuration with Jenkins Configuration as Code Plugin the resulting yaml contains translated entries as Permissions which will then fail to upload as the permissions are unknown. 

          We have a Jenkins configured with german language. The Export results in: 

           
          {code:java}
          authorizationStrategy:
              projectMatrix:
                entries:
                - group:
                    name: "XXX"
                    permissions:
                    - "Allgemein/Administer"
                - group:
                    name: "YYY"
                    permissions:
                    - "Allgemein/Administer"
                - group:
                    name: "ZZZ"
                    permissions:
                    - "Allgemein/Administer"
                - group:
                    name: "authenticated"
                    permissions:
                    - "Allgemein/Read"
                    - "Element/Build" {code}
           So the first Element before the "/" is translated. When uploading we get then:
          {code:java}
          Error while serving https://bt.jenkins.ppt.vi.vector.int/manage/configuration-as-code/replace
          java.lang.IllegalArgumentException: Failed to parse 'Allgemein/Administer' --- no such permission
              at org.jenkinsci.plugins.matrixauth.AuthorizationContainer.parsePermission(AuthorizationContainer.java:232)
              at org.jenkinsci.plugins.matrixauth.integrations.casc.PermissionDefinition$StaplerConverterImpl.convert(PermissionDefinition.java:73)
              at io.jenkins.plugins.casc.impl.configurators.PrimitiveConfigurator.configure(PrimitiveConfigurator.java:45)
              at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.tryConstructor(DataBoundConfigurator.java:156)
              at io.jenkins.plugins.casc.impl.configurators.DataBoundConfigurator.instance(DataBoundConfigurator.java:75)
              at io.jenkins.plugins.casc.BaseConfigurator.configure(BaseConfigurator.java:274) {code}
           
          Manuel Josch made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Daniel Beck made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          Daniel Beck made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]
          Daniel Beck made changes -
          Remote Link New: This issue links to "PR#155 (Web Link)" [ 28937 ]
          Daniel Beck made changes -
          Labels Original: plugin New: localization
          Daniel Beck made changes -
          Released As New: 3.2.1
          Resolution New: Fixed [ 1 ]
          Status Original: In Review [ 10005 ] New: Closed [ 6 ]

            danielbeck Daniel Beck
            waschndolos Manuel Josch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: