Web hooks

Buglife can automatically notify your server of newly created bugs using web hooks. To configure a web hook, go to your app's integrations in the Buglife web dashboard, and select "Web hook". Then enter the URL of your server.

Web hooks must respond to two kinds of POST requests: verification and report creation.

  1. Verification

    When you first configure your web hook on the Buglife web dashboard, Buglife will send a verification to your web hook URL.

    The JSON of the POST request will be of the following form:

    {
      "event" : "verification"
    }

    Your webhook endpoint must return an HTTP status code 200, along with an empty JSON dictionary {}.

  2. Report created

    For each new bug report, Buglife will send a POST request to your web hook URL containing a JSON payload with the created bug report.

    The JSON of the POST request will be of the following form:

    {
      "event" : "report_created",
      "report" : {
        "report_number" : 123,
        "title" : "Report #123",
        "url" : "https://www.buglife.com/url-for-the-submitted-bug-report",
        "what_happened" : "The song stopped playing",
        "version" : "1.0 (1.0)",
        "operating_system" : "iOS 10.3.1",
        "model" : "iPhone 7",
        "memory" : "99% (14.2 GB used out of 14.4 GB)",
        "capacity" : "98% (453 GB used out of 465 GB)",
        "locale" : "en_US",
        "user_identifier" : "Joe Schmoe",
        "user_email" : "[email protected]",
        "wifi" : "Connected",
    
        "attributes" : {
          "Artist" : "2Pac",
          "Song" : "California Love"
        },
    
        "integration_pushes" : [
          {
            "integration" : "JIRA",
            "url" : "https://acme.atlassian.net/browse/BUG-159",
            "display_id" : "BUG-123"
          },
          {
            "integration" : "Slack"
          }
        ]
      }
    }

    If a submitted bug report contains custom attributes, they will be set in the report.attributes keypath of the JSON payload.

    Likewise, if your app has other integrations configured, the report.integration_pushes keypath will contain information about integration links, etc.