2017-11-01 27 views
1

Jenkinsが起動するときに実行されるinit.groovy.d /ディレクトリにスクリプトがあります。私はいくつかの仕事の実行を探して、それらを停止したい。Jenkinsのinit.groovy.dスクリプトでビルドの説明を設定します

マトリックスセキュリティ(私たちの運用システムで使用する必要がある)を有効にする場合を除いて、すべてうまく動作しているようです。

関連グルーヴィーなコードは次のとおりです。

def busyExecutors = Jenkins.instance.computers.collect { 
    c -> c.executors.findAll { it.isBusy() } }.flatten() 

def jobsFound = [] 
busyExecutors.each { e -> 

    job = e.getCurrentExecutable() 

    if (e.getElapsedTime() > max_run_time_usec) { 
     logger.info("${job.getUrl()} timed out - killing it") 
     job.setDescription("Timed out") // <----- trouble! 
     e.doStop() 
    } 
} 

しかし、私は

hudson.security.AccessDeniedException2: anonymous is missing the Run/Update permission 

は本当にこの仕事をする匿名のこの権限を付与する必要はありません。このエラーを取得しています。

init.groovy.dでスクリプトを実行する方法については、管理者権限や他のユーザーとして実行して、必要な権限を与えることができますか?

答えて

0

あなたは以下を追加することで、スクリプトであなたの権限を昇格することができます:あなたは、ビルドの説明を設定することができるようになる

hudson.security.ACL.impersonate(hudson.security.ACL.SYSTEM) 

関連する問題