Я пытаюсь интегрировать плагин Jenkins Github для создания запросов на извлечение (https://github.com/jenkinsci/ghprb-plugin) в моей установке Jenkins. Я также хочу раскрутить Jenkins без какого-либо ручного вмешательства / настройки.
Я ДУМАЮ IПравильно ли настроен Jenkins / Github.com. Однако при создании запроса на извлечение ничего не запускается в Jenkins. После начального пинга с Github нет журналов, указывающих на успешное подключение через веб-крючок.
Я инициализирую глобальныйКонфигурация путем размещения сценария в init.groovy.d
:
import jenkins.model.*
import org.jenkinsci.plugins.ghprb.*
import hudson.util.Secret
GhprbTrigger.DescriptorImpl descriptor = Jenkins.instance.getDescriptorByType(org.jenkinsci.plugins.ghprb.GhprbTrigger.DescriptorImpl.class)
List<GhprbGitHubAuth> githubAuths = descriptor.getGithubAuth()
// remove all instances of all credentials (including the default)
githubAuths.clear()
String serverAPIUrl = 'https://api.github.com'
String jenkinsUrl = ''
String credentialsId = 'git_api_token'
String description = 'Github.com connection using git token'
String id = 'github-auth-id'
Secret secret = Secret.fromString('')
githubAuths.add(new GhprbGitHubAuth(serverAPIUrl, jenkinsUrl, credentialsId, description, id, secret))
descriptor.save()
println 'Github auth entry successfully saved.'
Соответствующий Groovy-код для заполнения самого задания:
properties {
githubProjectUrl(envVars.get("GIT_REPO").replaceAll('git@github.com:', 'https://github.com/').replaceAll('\\.git', ''))
}
triggers {
githubPullRequest {
useGitHubHooks()
triggerPhrase('OK to test')
permitAll()
extensions {
}
}
}
configure { flowDefinition ->
triggerNode = flowDefinition / 'triggers' / 'org.jenkinsci.plugins.ghprb.GhprbTrigger'
triggerNode.appendNode('gitHubAuthId', 'github-auth-id')
}
definition {
cps {
script(readFileFromWorkspace("pr_builder/jobs/Jenkinsfile"))
sandbox()
}
}
}
Одна странная вещь в этом состоит в том, что я могу получитьВсе это настроено на работу, сохраняя глобальную конфигурацию Jenkins без внесения каких-либо изменений (Jenkins -> Manage Jenkins -> Configure System), а затем сохраняя созданное задание без внесения каких-либо изменений. Я изучил XML до и после ручного сохранения имежду 2. * 1 нет никаких серьезных изменений014 *
Кто-нибудь может придумать, как заставить Дженкинса автоматически создавать PR?
Версия Jenkins - 2.176.2, а сборщик github PR - 1.42.0.