WaiverDB APIs

WavierDB offers a HTTP REST API.

REST API

POST /api/v1.0/waivers/

Create a new waiver.

Sample request:

POST /api/v1.0/waivers/ HTTP/1.1
Host: localhost:5004
Accept-Encoding: gzip, deflate
Accept: application/json
Connection: keep-alive
User-Agent: HTTPie/0.9.4
Content-Type: application/json
Content-Length: 91

{
    "result_id": "1",
    "waived": "false",
    "product_version": "Parrot",
    "comment": "It's dead!"
}

Sample response:

HTTP/1.0 201 CREATED
Content-Length: 228
Content-Type: application/json
Date: Thu, 16 Mar 2017 17:42:04 GMT
Server: Werkzeug/0.12.1 Python/2.7.13

{
    "comment": "It's dead!",
    "id": 15,
    "product_version": "Parrot",
    "result_id": "1",
    "timestamp": "2017-03-16T17:42:04.209638",
    "username": "http://jcline.id.fedoraproject.org/",
    "waived": "false"
}
JSON Parameters:
 
  • result_id (int) – The result ID for the waiver.
  • waived (boolean) – Whether or not the result is waived.
  • product_version (string) – The product version string.
  • comment (string) – A comment explaining the waiver.
Status Codes:
GET /api/v1.0/waivers/

Get waiver records.

Sample request:

GET /api/v1.0/waivers/ HTTP/1.1
Host: localhost:5004
User-Agent: curl/7.51.0
Accept: application/json

Sample response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 184
Server: Werkzeug/0.12.1 Python/2.7.13
Date: Thu, 16 Mar 2017 13:53:14 GMT

{
    "data": [],
    "first": "http://localhost:5004/api/v1.0/waivers/?page=1",
    "last": "http://localhost:5004/api/v1.0/waivers/?page=0",
    "next": null,
    "prev": null
}
Query Parameters:
 
  • page (int) – The page to get.
  • limit (int) – Limit the number of items returned.
  • result_id (int) – Filter the waivers by result ID. Accepts one or more result IDs separated by commas.
  • product_version (string) – Filter the waivers by product version.
  • username (string) – Filter the waivers by username.
  • since (string) – A ISO 8601 formatted datetime (e.g. 2017-03-16T13:40:05+00:00) to filter results by. Optionally provide a second ISO 8601 datetime separated by a comma to retrieve a range (e.g. 2017-03-16T13:40:05+00:00, 2017-03-16T13:40:15+00:00)
  • include_obsolete (boolean) – If true, obsolete waivers will be included.
Status Codes:
  • 200 OK – If the query was valid and no problems were encountered. Note that the response may still contain 0 waivers.
  • 400 Bad Request – The request was malformed and could not be processed.
GET /api/v1.0/waivers/(int: waiver_id)

Get a single waiver by waiver ID.

Parameters:
  • waiver_id (int) – The waiver’s database ID.
Status Codes:
  • 200 OK – The waiver was found and returned.
  • 404 Not Found – No waiver exists with that ID.
GET /healthcheck

Request handler for performing an application-level health check. This is not part of the published API, it is intended for use by OpenShift or other monitoring tools.

Returns a 200 response if the application is alive and able to serve requests.