Github timeouts and the quick and dirty solution

Important Note: Since the POODLE vulnerability was announced in October 2014, we no longer support SSLv3, and you should not need to perform the instructions below to integrate DoneDone with Github. We will keep this blog post here for posterity’s sake.

We recently have been experiencing some issues with Github integration.

If you use Github webhooks to update issues, there’s a quick change you’ll need to make for the time being.  Otherwise, the Github post-receive hook will time out. After you’ve added the DoneDone web hook to your Github repository, you need to make a modification to add an “ssl_version” key to the hook config via cURL.

Github doesn’t have a way to do this through their web UI, so you need to do it through cURL. Here are the two steps you need to take. I just do it through my terminal in Mac.

There are four things you’ll need to replace in the cURL syntax below:

  • <github-username>: Replace with your Github username
  • <donedone-webhook-url>: Replace with your DoneDone webhook URL, found on the integrations page of your project
  • <github-repository>: Replace with the name of your Github repository
  • <github-hookid>: In Step 2, replace with the ID for this hook you found in Step 1

Step 1: Get the Github Hook ID via cURL

Open up your terminal, and enter the following to get a list of your hooks for the repository you’ve integrated:

curl -u "<github-username>" https://api.github.com/repos/<github-username>/<github-repository>/hooks

Hit ENTER, then enter your Github password. From the JSON response, make a note of the “id” that matches your DoneDone hook. You’ll use that in the final step below.

Step 2: Update the “config” value for your Github Hook via cURL

Next enter the following to update your web hook configuration:

curl -u "<github-username>" -X PATCH --data '{"config":{"url": "<donedone-webhook-url>","content_type":"form","insecure_ssl":"1","ssl_version":"3"}}' https://api.github.com/repos/<github-username>/<github-repository>/hooks/<github-id-of-hook>

Hit ENTER, then enter your Github password. You should be all set! We hope to have a fix in place soon so that you will not need to go through these extra steps.

Ka Wai Cheung is a partner at We Are Mammoth, developer of DoneDone, and author of The Developer’s Code. Follow him personally on Twitter via @developerscode and read more at Life Imitates Code.