2017-09-26 4 views
1

ich eine gemeinsam genutzte Bibliothek in Jenkins definiert haben:Jenkins deklarative Pipeline wirft org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: nicht klassifiziert getAt Methode

import com.codependent.jenkins.pipelines.Utils 

def call(List<String> mavenGoals){ 
    def processedMavenGoals = mavenGoals.join ' ' 
    pipeline { 
    agent any 
    ... 
} 

Wenn ich dies aus Jenkinsfile meines Projekt nennen, wie dies funktioniert es ok:

#!groovy 
@Library('jenkins-pipeline-shared-library-example') _ 
buildPipeline(['clean', 'install']) 

Allerdings, wenn ich die parethesis als Groovy Syntax weglassen können:

#!groovy 
@Library('jenkins-pipeline-shared-library-example') _ 
buildPipeline ['clean', 'install'] 

Die Ausführung zeigt die folgende Ausnahme. Warum?

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified getAt method buildPipeline[java.util.ArrayList] 
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetArray(SandboxInterceptor.java:451) 
    at org.kohsuke.groovy.sandbox.impl.Checker$10.call(Checker.java:413) 
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetArray(Checker.java:418) 
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getArray(SandboxInvoker.java:45) 
    at com.cloudbees.groovy.cps.impl.ArrayAccessBlock.rawGet(ArrayAccessBlock.java:21) 
    at WorkflowScript.run(WorkflowScript:3) 
    at ___cps.transform___(Native Method) 
+0

Ich stehe vor einem ähnlichen Problem. Hast du die Lösung schon gefunden? Danke – Matyas

+0

Sorry, noch keine Lösung. – codependent

Antwort

1

Ich hatte ein ähnliches Problem nach aktualisierten jenkins.

In meinem Fall die stacktrace zeigte auch einen org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException[...]

Grund

Jenkins hat eine Sicherheits-Plugin, dass blockiert bestimmte Methode in Jenkinsfile s nennt.

Lösung

diese Anrufe zu ermöglichen, die manchmal harmlos sind:

  1. Gehe zu: http://JENKINS_HOST/scriptApproval/ (Official Documentation)
  2. genehmigen die Aktion, die enter image description here
  3. Rerun im Jenkinsfile verweigert wurde der fehlgeschlagene Build, um Jenkinsfile Arbeit
zu sehen
Verwandte Themen