Jenkins+Github: We couldn’t deliver this payload: Couldn't connect to server

前端 未结 2 1167
没有蜡笔的小新
没有蜡笔的小新 2021-02-07 09:27

I am trying to configure the web hook on GitHub so that it can send the POST to http://127.0.0.1:8080/github-webhook/

My Jenkins is running on http://127.0.0.1:8080

相关标签:
2条回答
  • 2021-02-07 09:35

    If you want to try to run Jenkins on localhost, the other way around is that, install ngrok: https://ngrok.com/download which expose localhost urls over internet. After installation of the ngrok run it e.g

    ./ngrok http 8080
    

    It will give you a url like this: http://3b2db437.ngrok.io

    Now under payloadUrl: type the url as:

    http://3b2db437.ngrok.io:8080/github-webhook/
    

    Now the localhost Jenkins setup would run and the payload error would be gone.

    Note: In above URL, you mentioned 8080 again. Since the url generated on ngrok already contains this, adding it again would result in service timeout error : "We couldn’t deliver this payload: Service Timeout".

    To avoid this, you want to edit your webhook as (removing :8080) " http://3b2db437.ngrok.io/github-webhook/

    This solved the problem.

    Also a tip for end users: I forgot to add a trailing forward slash after github-webhook/, which caused issues for me. I saw others also doing the same mistake and found answers on StackOverflow. Maybe something to be careful about.

    0 讨论(0)
  • 2021-02-07 09:54

    GitHub would not know how to contact "localhost" or 127.0.0.1: what GitHub would consider "local" is not your local machine.

    You need to specify an IP address GitHub can contact over the internet. Not just "localhost".

    That means your PC must expose to the internet the port 8080.
    That can involve opening said port on your router for instance.
    Or, at work, requesting from your IT department a firewall rule to allow traffic on that port.

    0 讨论(0)
提交回复
热议问题