Как добавить секрет с помощью сценария пост-инициализации - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно, чтобы секретный текст был настроен в скрипте после инициализации в моем Jenkins. До сих пор я нашел только код для настройки имени пользователя / пароля , но я просто не знаю подходящих классов для секретного текста. Мой текущий подход:

import com.cloudbees.plugins.credentials.impl.*;
import com.cloudbees.plugins.credentials.*;
import com.cloudbees.plugins.credentials.domains.*;

Credentials c = (Credentials) new WhateverClassSecretText(
    CredentialsScope.GLOBAL,
    "my-credential-id",
    "Secret Text for something", 
    "S3cr3t") // TODO find right class here!

SystemCredentialsProvider.getInstance().getStore().addCredentials(Domain.global(), c)

1 Ответ

0 голосов
/ 07 ноября 2018

Я нашел способ сделать это, но мне все еще любопытно, есть ли у кого-нибудь лучшее решение.

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