Link GitHub pull requests to tasks

When you finish, each pull request that names a task shows up on that task. The card can also move when the pull request opens, merges or closes. It takes about five minutes per repo.

A pull request asks to merge one branch of code into another. A branch is a separate line of work in git. A webhook is a message GitHub sends to another app when something happens.

devBoard looks for an item key, like APP-42, in the pull request's title, body or branch name. Case does not matter, so a branch called app-42-fix-login counts.

What you need

Steps

1. Copy the webhook address

In devBoard, open Settings → Developer and find Pull requests. Click Copy webhook URL. You use this one address in every repo.

2. Set a webhook secret

Type a secret of 8 to 200 characters into Webhook secret and click Save. GitHub signs each message with it, so devBoard knows the message is real.

3. Add a webhook in GitHub

In GitHub, open the repo's Settings → Webhooks and click Add webhook. Paste the address into Payload URL.

4. Set the content type and secret

Set Content type to application/json. GitHub starts with form-encoded, and devBoard rejects that. Then type the same secret as in step 2.

5. Pick the event

Choose Let me select individual events. Tick Pull requests and untick the rest. Click Add webhook. GitHub sends a test ping, and a green tick means devBoard answered.

6. Choose where cards go

Back in devBoard, under Pull requests, pick a place for each event. The choices are Don't move, Backlog, To do, In progress, Done and Cancelled.

Event Set at first to
When a pull request opens In progress
When a pull request merges Done
When a pull request closes without merging Don't move

These are kinds of column, not names. devBoard picks the first column of that kind in the card's project.

Check that it works

Push a branch with a real key, like app-42-test-link, and open a pull request. Open APP-42 in devBoard. The pull request shows on the task. If you kept the settings above and the card was in To do, it is now in In progress.

In GitHub, the webhook's Recent Deliveries tab shows devBoard's answers. Look for 200.

When a card moves

What to try next

More setups are in the guides and on the MCP page.

If it does not work

What you see Why What to do
401 "Bad signature." in Recent Deliveries The secret in GitHub does not match devBoard Save the same secret in both places
404 "Not found." No secret is saved in devBoard yet, or the address is wrong Save a secret, then copy the address again
The ping works but pull requests get 400 Content type is form-encoded Set it to application/json
200, but nothing shows on the task No valid key in the title, body or branch Add the key, like APP-42, to the title
It shows on the task, but the card stays The card was past To do, or the event is set to Don't move See When a card moves, above

Questions people ask

Do I need a webhook in every repo?

Yes. Each workspace has one webhook address. Add that address and the same secret to every repo you want linked.

Does it work with GitLab or Bitbucket?

No. devBoard reads GitHub pull request events only.

Free while in early access; paid plans will be one plain number, posted here first.

Download on the App Store Get it on Google Play Connect your AI assistant