我找到了一个方法,但我仍然好奇是否有人有更好的解决办法。
我要找的班级是
org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl
,这实际上需要
hudson.util.Secret
作为秘密字符串。下面是代码(可在Jenkins脚本控制台中测试):
import static com.cloudbees.plugins.credentials.CredentialsScope.GLOBAL
import com.cloudbees.plugins.credentials.domains.Domain
import com.cloudbees.plugins.credentials.SystemCredentialsProvider
import hudson.util.Secret
import org.jenkinsci.plugins.plaincredentials.impl.StringCredentialsImpl
StringCredentialsImpl credentials = new StringCredentialsImpl(
GLOBAL,
"my-credential-id",
"Secret Text for something",
Secret.fromString("S3cr3t"))
SystemCredentialsProvider.getInstance().getStore().addCredentials(Domain.global(), credentials)