构建管道作业dsl时在groovyscript中使用jenkins凭据
我试图在管道作业dsl的参数中使用groovy脚本中存储的jenkins凭据 例如,当我创建pipelineJob时,我使用的参数应该能够从git获取数据:构建管道作业dsl时在groovyscript中使用jenkins凭据,jenkins,groovy,jenkins-job-dsl,Jenkins,Groovy,Jenkins Job Dsl,我试图在管道作业dsl的参数中使用groovy脚本中存储的jenkins凭据 例如,当我创建pipelineJob时,我使用的参数应该能够从git获取数据: activeChoiceReactiveParam('REPO') { description('') filterable(false) choiceType('SINGLE_SELECT') groovyScript { script( "&q
activeChoiceReactiveParam('REPO') {
description('')
filterable(false)
choiceType('SINGLE_SELECT')
groovyScript {
script(
"""
import jenkins.*
import jenkins.model.*
import hudson.*
import hudson.model.*
def TOKEN = ""
def jenkinsCredentials = com.cloudbees.plugins.credentials.CredentialsProvider.lookupCredentials(
com.cloudbees.plugins.credentials.Credentials.class,Jenkins.instance,null,null);
for (creds in jenkinsCredentials) {
if(creds.id == "my_stored_credentials"){
TOKEN = creds.secret
}
}
dirs=["bash", "-c", "curl -s --header \"Authorization: token $TOKEN\" https://github_url_and_path| jq -r .[].name"].execute()
def list = dirs.text.readLines()
return list
"""
)
fallbackScript('')
}
}
这个代码有效。在jenkinsCredentials中,我得到了一个所有存储凭据的列表,要得到我想要的凭据,我可以通过查看所有凭据,通过其ID找到它
我的问题是:有没有一种方法可以直接获取这些凭证(我存储的凭证),而不必查看所有机密的列表