我正在尝试从我的私人存储库获取 GitHub webhook 来启动 Jenkins 作业构建。 由于我的 Jenkins 服务器是内部网络,我需要依赖网络中继,因此我目前正在使用 Smee。
看来 Smee 正确获取了该消息,然后正确转发到我的 Jenkins 服务器,问题是 Jenkins 在尝试识别 GIT 存储库时总是抛出异常。
我从 Jenkins 中启用的日志记录器中获取了这些信息,这是我在日志中发现的异常:
java.lang.NullPointerException: Cannot invoke "org.kohsuke.github.GHRepository.getUrl()" because the return value of "org.kohsuke.github.GHEventPayload$Push.getRepository()" is null
at PluginClassLoader for github//org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber.onEvent(DefaultPushGHEventSubscriber.java:76)
at PluginClassLoader for github//org.jenkinsci.plugins.github.extension.GHEventsSubscriber$4.applyNullSafe(GHEventsSubscriber.java:241)
at PluginClassLoader for github//org.jenkinsci.plugins.github.extension.GHEventsSubscriber$4.applyNullSafe(GHEventsSubscriber.java:237)
at PluginClassLoader for github//org.jenkinsci.plugins.github.util.misc.NullSafeFunction.apply(NullSafeFunction.java:18)
at com.google.common.collect.Iterators$6.transform(Iterators.java:829)
...
有人知道我如何克服这个例外吗? 感谢您的关注。
我终于找到了似乎可以解决问题的东西。
在 GitHub 项目 webhook 设置中,我已将内容类型更改为 application /json,现在一切似乎都正常。