Я нашел способ сделать это, но мне все еще любопытно, есть ли у кого-нибудь лучшее решение.
Класс, который я искал, это 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)