【问题标题】:Github webhook URL config issue? How to fix it?Github webhook URL 配置问题?如何解决?
【发布时间】:2017-02-27 13:56:34
【问题描述】:

我正在使用 GitHub 项目存储库作为来自 Jenkins 的构建触发器。

目的是即使在 GitHub 存储库项目中完成代码推送,我的 Jenkins 构建也会自动触发。

已完成的步骤:

  • 为构建触发器创建 Jenkins 作业
  • 配置该特定作业的设置
    • 源代码管理选择了 Git 并更新了我从 GitHub 项目代码中获得的 Repository URL 并更新了https Git URL
    • 更新了 GitHub 凭据
    • 构建触发器选项
  • 我选择了将更改推送到 GitHub 时构建
  • 然后 GitHub 已经从设置中更新了 webhook
  • 我添加了 webhook URL,例如 http://ABCDEFGH123:8080/github-webhook/
  • 并选择Content typeapplication/json

更新 webhook URL 时,它会显示错误消息:

我们无法传递此有效负载:无法解析主机名

请参阅屏幕截图以供参考。请看一看。请分享解决方案。为什么我无法更新 webhook URL?如何解决?

【问题讨论】:

  • 您的 Jenkins 主机名是否公开可用并可从 GitHub 访问?
  • 是的,可以访问

标签: github jenkins


【解决方案1】:

发生这种情况的几个原因。

  1. 如果你在本地运行它 --> 这意味着你的 URL 没有暴露给互联网。所以你可以使用它把它暴露给互联网 ngrok(小心,因为它会将您(端口)暴露给互联网)
  2. 公司案例-->肯定是代理或防火墙问题。因此您可以再次使用带有代理设置的 ngrok/绕过您的 防火墙,在谷歌上搜索一下如何做会有所帮助。
  3. 您有一个 Enterprise Git Repo,但仍然无法访问 webhook 转到 Manage Jenkins --> Configure System-->GitHUB 下 你会提到你的 GitHub 服务器详细信息,在 那个,有一个Advance按钮,再往下是另一个Advance 按钮点击那个。为 webhook 添加另一个 URL 或使用现有的 你会提到的。

它提供的一个简洁的小功能是它可以测试您与 GitHub 的连接并为您提供失败的原因。

希望这会有所帮助,我花了很长时间才弄清楚:0

【讨论】:

    【解决方案2】:

    防火墙被阻止,或者您必须从 Repository -> Settings -> WebHooks 检查 Github 中是否启用了 WebHook。有一个很好的指南here。使用RequestBin 进行测试以确保它不是服务器端问题:)

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 1970-01-01
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      相关资源
      最近更新 更多