Git plugin 4.1.0 adds many GitSCM getters to the Pipeline whitelist as part of JENKINS-42860 so that Pipeline users do not need to specifically approve a script that refers to GitSCM fields. It is confirmed to work when the references are directly inside the Jenkinsfile, as in the JENKINS-42860 automated check. It fails to whitelist the reference to that field when it is accessed from a shared library method like GitUtils.my_utils The failing reference looks something like this:
@Library(value='globalPipelineLibraryMarkEWaite', changelog=false) _
import com.markwaite.Assert
import com.markwaite.Build
import com.markwaite.GitUtils
def branch1='JENKINS-37156'
def branch2='master'
def branch3='JENKINS-06203'
node('git-1.8+ && !cloud') {
stage('Checkout') {
def my_utils = new com.markwaite.GitUtils()
dir(branch2) {
checkout([$class: 'GitSCM',
branches: [[name: branch2]],
browser: [$class: 'GithubWeb', repoUrl: 'https://github.com/MarkEWaite/jenkins-bugs-private'],
doGenerateSubmoduleConfigurations: false,
extensions: [
[$class: 'LocalBranch', localBranch: '**'],
[$class: 'SubmoduleOption',
disableSubmodules: true,
recursiveSubmodules: false,
trackingSubmodules: false],
],
gitTool: 'Default',
submoduleCfg: [],
userRemoteConfigs: my_utils.adjustRemoteConfig(scm.userRemoteConfigs[0], branch2)
])
}
}
|