учетные данные.
есть Jenkins 2, настроенный на сборку каждого push-запроса на github, и мы не используем компоновщик Pull Request (хотя, очевидно, также будут создаваться коммиты, являющиеся частью запроса на получение).Плагин интеграции с GitHub говорит, что он работает только со сборщиком запросов, поэтому у нас это не получится.
Я также попробовалплагин github-notify, но это, похоже, не работает для нашего случая (возможно, потому что репо является частным и / или принадлежит как часть Organizaiton, а не как отдельный пользователь). Я попытался дать ему возможность вывести настройки, а также указать вручнуюcredentialsId
, account
, repo
и конечноstatus
аргументы, все без удачи.
Вот сокращенная версия моего Jenkinsfile на данный момент:
pipeline {
agent { label "centos7" }
stages {
stage("github => pending") {
steps {
githubNotify status: "PENDING", credentialsId: "my-credentials-id", account: "my-account", repo: "my-repo"
}
}
stage("build") {
...
}
}
post {
success {
githubNotify status: "SUCCESS", credentialsId: "my-credentials-id", account: "my-account", repo: "my-repo"
}
failure {
githubNotify status: "FAILURE", credentialsId: "my-credentials-id", account: "my-account", repo: "my-repo"
}
}
}
Когда я запускаю сборку, я получаю следующее:
java.lang.IllegalArgumentException: The suplied credentials are invalid to login
at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep.getGitHubIfValid(GitHubStatusNotificationStep.java:234)
at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep.getRepoIfValid(GitHubStatusNotificationStep.java:239)
at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep.access$100(GitHubStatusNotificationStep.java:75)
at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep$Execution.run(GitHubStatusNotificationStep.java:344)
at org.jenkinsci.plugins.pipeline.githubstatusnotification.GitHubStatusNotificationStep$Execution.run(GitHubStatusNotificationStep.java:326)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecutionПлагин интеграции с GitHub1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
at hudson.security.ACL.impersonate(ACL.java:221)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Я проверил учетные данные как через Jenkins (в области «Настройка системы»), так и вручную в браузере - имя пользователя и пароль верны и имеют доступ на чтение / запись к рассматриваемому репо.