2017-09-26 68 views
1

我在詹金斯定義的共享庫:詹金斯聲明管線拋出org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:未分類getAt方法

import com.codependent.jenkins.pipelines.Utils 

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

如果我把這個從我的項目的Jenkinsfile這樣它的工作原理OK:

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

但是如果我省略parethesis比如Groovy語法允許:

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

執行顯示以下異常。爲什麼?

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

我正面臨類似的問題。你有沒有找到解決方案?謝謝 – Matyas

+0

對不起,尚未解決。 – codependent

回答

1

我更新jenkins後有類似的問題。

在我的情況下,堆棧跟蹤也顯示出了org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException[...]

原因

詹金斯有一個安全插件,阻止某些方法Jenkinsfile小號調用。

解決方案

爲了讓這些電話,有時是無害的:

  1. 轉到:http://JENKINS_HOST/scriptApproval/Official Documentation
  2. 批准已在Jenkinsfile enter image description here
  3. 重新運行被拒絕的動作失敗的構建看Jenkinsfile工作