HTTP API

UI

POST /uninstall
GET /uninstall
POST /install
GET /install
GET /

Home page.

If the user is not currently logged in with Github, explain what WebhookDB is, and ask them to log in.

If the user is logged in with Github, show them their Github repos, and allow them to re-sync repos from Github.

Load Data

POST /load/user/repos

Queue tasks to load all of the logged-in user’s repositories into WebhookDB.

Query Parameters:
 
  • children – scan all children objects. Defaults to false
  • type – one of all, owner, public, private, member. Default: all. This parameter is proxied to the Github API for listing your repositories.
Status Codes:
POST /load/repos/(owner)/(repo)/pulls/(int: number)/files

Queue tasks to load the pull request files (diffs) for a single pull request into WebhookDB.

Status Codes:
POST /load/repos/(owner)/(repo)/milestones/(int: number)

Load a single milestone from Github into WebhookDB.

Query Parameters:
 
  • inline – process the request inline instead of creating a task on the task queue. Defaults to false.
Status Codes:
POST /load/repos/(owner)/(repo)/issues/(int: number)

Load a single issue from Github into WebhookDB.

Query Parameters:
 
  • children – scan all children objects. Defaults to false
  • inline – process the request inline instead of creating a task on the task queue. Defaults to false. Ignored if children is true.
Status Codes:
POST /load/repos/(owner)/(repo)/labels/(name)

Load a single label from Github into WebhookDB.

Query Parameters:
 
  • children – scan all children objects. Defaults to false
  • inline – process the request inline instead of creating a task on the task queue. Defaults to false.
Status Codes:
POST /load/repos/(owner)/(repo)/hooks/(int: hook_id)

Load a single repository hook from Github into WebhookDB.

Query Parameters:
 
  • inline – process the request inline instead of creating a task on the task queue. Defaults to false.
Status Codes:
POST /load/repos/(owner)/(repo)/pulls/(int: number)

Load a single pull request from Github into WebhookDB.

Query Parameters:
 
  • inline – process the request inline instead of creating a task on the task queue. Defaults to false.
Status Codes:
  • 200 OK – pull request successfully loaded inline
  • 202 Accepted – task successfully queued
  • 404 Not Found – specified pull request was not found on Github
POST /load/repos/(owner)/(repo)/milestones

Queue tasks to load all milestones on a single Github repository into WebhookDB.

Status Codes:
POST /load/repos/(owner)/(repo)/labels

Queue tasks to load all labels on a single Github repository into WebhookDB.

Status Codes:
POST /load/repos/(owner)/(repo)/issues

Queue tasks to load all issues on a single Github repository into WebhookDB.

Query Parameters:
 
  • children – scan all children objects. Defaults to false
  • state – one of all, open, or closed. This parameter is proxied to the Github API for listing issues.
Status Codes:
POST /load/repos/(owner)/(repo)/hooks

Queue tasks to load all hooks on a single Github repository into WebhookDB.

Status Codes:
POST /load/repos/(owner)/(repo)/pulls

Queue tasks to load all pull requests on a single Github repository into WebhookDB.

Query Parameters:
 
Status Codes:
POST /load/repos/(owner)/(repo)

Load a single repository from Github into WebhookDB. Note that this does not load issues, pull requests, etc for that repository into WebhookDB.

Query Parameters:
 
  • inline – process the request inline instead of creating a task on the task queue. Defaults to false.
Status Codes:
  • 200 OK – repository successfully loaded inline
  • 202 Accepted – task successfully queued
  • 404 Not Found – specified repository was not found on Github
POST /load/user/(username)/repos

Queue tasks to load all of the given user’s repositories into WebhookDB.

Query Parameters:
 
Status Codes:

Replication

POST /replication/pull_request

Webhook endpoint for pull_request events on Github.

POST /replication/repository
POST /replication/issue

Webhook endpoint for issues events on Github.

POST /replication

Webhook endpoint for all events on GitHub.