This repository has been archived on 2022-08-18. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2017-04-07 17:12:42 +01:00
hooks fix up the pre-commit hook (#1) 2017-04-05 14:51:07 +01:00
src/github.com/matrix-org/rageshake Create a (template) github issue on report 2017-04-07 17:12:42 +01:00
vendor Import github integration libraries. 2017-04-07 17:12:42 +01:00
.gitignore Travis build script and gitignores 2017-04-04 12:01:28 +01:00
.travis.yml Travis build script and gitignores 2017-04-04 12:01:28 +01:00
CONTRIBUTING.rst Add readme, contributing, license 2017-04-04 16:20:50 +01:00
LICENSE Add readme, contributing, license 2017-04-04 16:20:50 +01:00
README.md Create a (template) github issue on report 2017-04-07 17:12:42 +01:00

rageshake Build Status

Web service which collects and serves bug reports.

rageshake requires Go version 1.7 or later.

To run it, do:

go get github.com/constabulary/gb/...
gb build
GITHUB_TOKEN=<token> BUGS_USER=<user> BUGS_PASS=<password> ./bin/rageshake <port>

where:

  • token is a GitHub personal access token (https://github.com/settings/tokens), which will be used to create a GitHub issue for each report. It requires public_repo scope. If omitted, no issues will be created.
  • user and password are a username/password pair which will be required to access the bug report listings at /api/listing, via HTTP basic auth. If omitted, there will be no authentication on this access!
  • port is the TCP port to listen on.

HTTP endpoints

The following HTTP endpoints are exposed:

GET /api/listing/

Serves submitted bug reports. Protected by basic HTTP auth using the username/password provided in the environment. A browsable list, collated by report submission date and time.

POST /api/submit

Submission endpoint: this is where applications should send their reports.

The body of the request should be a JSON object with the following fields:

  • text: A textual description of the problem. Included in the details.log.gz file.

  • user_agent: Application user-agent. Included in the details.log.gz file.

  • version: Application version. Included in the details.log.gz file.

  • logs: an of log files. Each entry in the list should be an object with the following fields:

    • id: textual identifier for the logs. Currently ignored.
    • lines: log data. Lines should be separated by newline characters (encoded as \n, as normal in JSON).