У меня проблема с моей общей библиотекой. Я написал диспетчер контекста, чтобы предоставить мне объект шагов. Поэтому я написал класс-оболочку для объекта steps, чтобы упростить модульное тестирование моего кода. Мне удалось обернуть почти каждый необходимый шаг, за исключением шага withCredentials
. Я не знаю, как понять контекст моего закрытия. Вот соответствующий код моей текущей реализации:
// StepExecutor.groovy
class StepExecutor implements IStepExecutor {
private def _steps
StepExecutor(steps) {
_steps = steps
}
@Override
void withCredentials(List bindings, Closure closure) {
this._steps.withCredentials(bindings, closure)
}
@Override
def usernamePassword(Map credentials) {
return this._steps.usernamePassword(credentials)
}
}
// SomeFile.groovy
steps.withCredentials([
steps.usernamePassword(
credentialsId: "Sharepoint365",
passwordVariable: "pass",
usernameVariable: "user"
)
]) {
// Do something with pass and user
}
Соответствующий код withCredentials
, где я передаю закрытие, которое выполняется и в котором я хотел бы иметь * 1007 Установлены переменные * и user
. Как я могу сделать это sh? Я попытался решить эту проблему, глядя на код здесь https://github.com/jenkinsci/credentials-binding-plugin, но должен признать, что я понятия не имею, что они там делают.
Я знаю, что могу позвонить withCredentials прямо на объект, но я бы хотел обернуть его, но я считаю это решение своим последним вариантом.
Заранее спасибо.