Фон
- Я использую скриптовые конвейеры и общие библиотеки.
Вся наша реализация находится в каталоге src, где я повторно использую ссылку в конвейерах:
def static myFunction(steps, context) {
steps.withCredentials([steps.usernamePassword(
credentialsId: 'credentialsId',
usernameVariable: 'GITHUB_USERNAME',
passwordVariable: 'GITHUB_PASSWORD')]) {
// use of steps.env.GITHUB_PASSWORD
}
}
- Мне нужно сделать 2 вызова API для Github Enterprise сте же учетные данные, которые установлены как учетные данные UsernamePassword. Хотя первый вызов работает должным образом, второй вызов завершается неудачно, поскольку значение env.GITHUB_PASSWORD равно mask Details
Как описано в https://wiki.jenkins.io/display/JENKINS/Credentials+Binding+Plugin,, проблема может быть связана с тем, как привязка учетных данных маскируется при использовании более одного раза.То есть, как только мы используем $ {env.PASSWORD} один раз, он замаскирует все использования одного и того же значения.
Detail
Я использую curl для и мне нужно сгенерироватьURL
def teamMembersApi = sh(curl -H 'Authorization: token ${env.PASSWORD}' ${githubRepoApi}")
Ответом на этот вызов является другой URL-адрес API, который я создал еще одним URL-адресом с " teamMembersApi ".Итак, второй вызов ...
def teamMembers = sh("curl -H 'Authorization: token ${env.PASSWORD}' ${teamMembersApi}")
На этом этапе значение $ {env.PASSWORD} маскируется, и, как следствие, второй вызов завершается неудачно, потому чтоневерных учетных данных
Вопросы
Как я понимаю, это является результатом "маскирования" значений при доступе любым способом, который вызовет " toString () "сделает его недоступным для повторного использования в строках ...
- Как я могу использовать те же учетные данные, даже если они могут быть замаскированы?
Проверки
- Я пытался использовать 2 блока steps.withCredentials
- Я пытался использовать шаг httpRequest , чтобы не ссылаться на переменную
Используя httpRequest, я получил MalformedURLException с четко сформированным URL-адресом ... Я убедился, что URL-адрес был в формате String и имеет протокол ...
java.net.MalformedURLException: no protocol: https://github.company.com/org/repo