Active Choices Jenkins 插件 (https://plugins.jenkins.io/uno-choice/) 允许某人编写 groovy 脚本来返回一些动态选项。
我的脚本是这样的:
static String getDockerHubToken(String username, String password) {
return ...;
}
static List getDockerHubTags(String jwtToken) {
return ...;
}
def token = getDockerHubToken('myusername', 'mypassword')
def tagNames = getDockerHubTags(token)
return tagNames
(实现遵循Jenkins:Active Choices Parameter + Groovy中的模式来构建基于REST响应的列表)
所以问题是:
谢谢!
正如MB上面所写,这样做的方法是:
最后,我的代码是:
import com.cloudbees.plugins.credentials.*
import com.cloudbees.plugins.credentials.common.*
import jenkins.model.*
static String getDockerHubToken(String username, String password) {
return ...;
}
static List getDockerHubTags(String jwtToken) {
return ...;
}
def instance = jenkins.model.Jenkins.getInstance();
def dockerLogin = CredentialsProvider.lookupCredentials(StandardUsernameCredentials.class, instance, null, null).find {
it.id == 'my-docker-login-credentials-id'
}
def token = getDockerHubToken(dockerLogin.username, dockerLogin.password.getPlainText())
def tagNames = getDockerHubTags(token)
return tagNames