我已经安装了一个github webhook,并在jenkins的github插件上安装了日志。 jenkins似乎收到webhook正确的有效载荷。 然而,日志说,github webhook考虑戳我的工作,然后跳过,因为它没有find一个匹配的存储库
我在jenkins2.1,最近迁移到2.5
Received POST for https://github.com/<org_name>/<repo_name> May 20, 2016 3:17:49 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run Considering to poke echo_pipeline May 20, 2016 3:17:49 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run Skipped echo_pipeline because it doesn't have a matching repository.
我已经在pipe道作业的configuration中添加了这个存储库,我也在pipe道中克隆这个存储库。 我还需要在哪里configuration存储库,以便webhook考虑这一点,而不会跳过它
我知道这是一个古老的线索,但为了最终在这里的人的利益:
1)你的工作必须至less手动运行一次,然后才能工作
2)推送到Jenkins的repo,项目configuration中的GitHub项目url以及您的pipe道Job中的repo(s)必须排队。
3)您需要Jenkins中的日志logging器来查看GitHub发送的内容: https : //support.cloudbees.com/hc/en-us/articles/204880580-How-do-I-create-a-logger-in -Jenkins换故障诊断和诊断-信息-
我挖入Jenkins代码( https://github.com/jenkinsci/github-plugin/blob/master/src/main/java/org/jenkinsci/plugins/github/webhook/subscriber/DefaultPushGHEventSubscriber.java#L88-L107 )弄清楚什么是不匹配的。 你可以通过转到你的Jenkins实例脚本控制台(/ script)并执行这个命令来看看它在期待什么:
import com.cloudbees.jenkins.GitHubRepositoryNameContributor; for (Item job : Jenkins.getInstance().getAllItems(Item.class)) { print(GitHubRepositoryNameContributor.parseAssociatedNames(job)) }
这将循环所有的工作,并输出它检查的回购的价值。