В настоящее время возникают проблемы с попыткой сопоставления результатов из git ls-remote. В настоящее время проверяется наличие репо, однако во время тестирования у меня есть 6 репо для тестирования, а один не существуетОднако при запуске кода git ls-remote сообщает, что несуществующее хранилище не найдено, но функция по-прежнему рассматривается как true.
Я пробовал довольно много вещей, включая установку шаблона и выводgit ls-remote в нижний регистр. А также обрезка обоих результатов. Раньше у меня не было «|| true» в конце скрипта, но когда он не нашел репозиторий, он не достигал оператора if.
def is_repository(repository_name)
{
sshagent(['03876f99-2a9d-4980-b543-f8b478d4f1ec'])
{
String repository = sh( script: "git ls-remote git@bitbucket.org:<company_name>/${repository_name}.git || true", returnStdout: true)
println(repository)
String pattern = 'and the repository exists.'
if(repository.contains(pattern))
{
println("Repository: " + repository_name + " not found")
return false
}
else
{
println("Repository: " + repository_name + " found")
return true
}
}
}
Ожидаемый результат - возвращение falseесли он находит «not found» в выводе git ls-remote.