BugDigger Service REST API

The BugDigger service API is organized around REST.

At this time, the API allows issue report submission only. We plan to extend it soon with "read" operations and some new features. Feel free to contact us if you need a particular API operation.

For a simple client, take a look at the BugDigger JavaScript API implementation.

Authentication

In order to use BugDigger REST API, you must include a valid API Key with all HTTP requests to API endpoint https://my.bugdigger.com/api/.

There are two ways to send API key:

  1. Send Basic HTTP authentication header with API key as username (with empty password).

  2. Send HTTP parameter apiKey.

An API key is related to either a project or user.

Project API key allows operations on a single project the key belongs to. The project API key can be found at the bottom of the project settings page.

User API key allows operations on all projects owned by user. The user API key can be found at the bottom of the Integration page.

BugDigger users without applicable subscription plan can test the API using their user API key. In this case, issue reports submitted via API will be listed on user's account under the "owned by me" bugs list and there's no automatic emailing or submission to an external issue tracker.

Error responses

In case of an error, BugDigger will return HTTP error status code, followed by a JSON response containing error details.

Error response
{
"status": "error",
"error": "Error message..."
}

Submit bug report

POST https://my.bugdigger.com/api/issue will create an issue from a JSON representation.

When provided API Key is associated with a project, BugDigger will further process bug report in accordance with project settings (submit to an issue tracker, send details by email, etc.)

JSON object structure for bug reporting
{
"title": "Issue report summary",
"description": "more info about the issue",
"environment": {
"webPage": "http://myapphost/foo/bar",
... // see below
},
"buckets": [
{
"type": "screenshot",
"fileName": "screenshot",
"contentBase64": "..."
}
... // see below for available bucket types
],
 
"userName": "Joana Smith",
"userEmail": "[email protected]",
 
"collectBrowserInfoOnServer": true,
"getPublicAccessUrl": true
}

Field

Description

Required

title

Issue summary

No

description

Description of the issue. When there's no title provided, BugDigger will use the first line of description as title.

Yes

environment

Fields of the object provided will be used to initialize environment section of the issue report.

No

buckets

Additional data to be included with the issue report. See below for available bucket types.

No

userName
userEmail

Contact details of the issue reporter.

No

collectBrowserInfoOnServer

When set to true, BugDigger will fill environment with data that can be extracted from client's HTTP request.

No

getPublicAccessUrl

When set to true, BugDigger will return field issueUrlPublic in reponse with URL that allows access to issue report details on BugDigger without signing-in to the service.

No

Response JSON
{
"status": "OK",
"issue": { "id": 123456 },
"issueUrl": "https://my.bugdigger.com/..."
}

Bucket types

File

Any type of file can be attached using Base64 encoding:

{
"type": "file",
"fileName": "my file.bin",
"contentType": "application/octet-stream",
"contentBase64": "..."
}

Text file can be sent as a string:

{
"type": "file",
"fileName": "my file.txt",
"contentType": "text/plain",
"contentText": "My file contents..."
}

Size of individual files that can be submitted with bug report is limited to around 1MB.

Screenshot

A special kind of file attachment that will be marked and handled by BugDigger UI as a screenshot.

{
"type": "screenshot",
"fileName": "screenshot.png",
"contentType": "image/png",
"contentBase64": "..."
}

Name-Value Set

This bucket type is represented in BugDigger UI as a section of name-value pairs.

{
"type": "name-value-set",
"name": "Custom data section name",
"data": {
"Anything": "Blah blah",
"Num value": 123
}
}
comments powered by Disqus