Analysis REST API Contracts
WebHob is accessible through REST APIs, which make the backend available to any client.
The data collected during the build is available on no-restrictions, anonymous, read-only API running on the local host machine.
General
The interface to retrieve objects is available as a search query returning a list of typed objects. The request method must be GET. The answers are always returned as JSON.
API version
The REST API is versioned as to allow further upgrades without having to maintain backward compatibility through changing the major version number. Minor version numbers are inteded to signify a capability level while maintaining compatibility.
This is the API version 1.0. All API requests are grouped under URL:
api/1.0/
Object types
The API can return Build, Task, Package, Layer, Layerversion, Recipe, Variable. Each object is described below.
Search query
The primary operation of the API is to retrieve a set of objects from the backend based on a search operation. The result will also contain all the data for the objects being returned, as to avoid separate connections to further bring the data.
Build
Endpoints
Method | Endpoint | Body | Description | Comments |
---|---|---|---|---|
GET | /builds | JSON | Returns page size limited and search criteria filtered amount of builds from the data base | - |
Parameters
Name | Type | Description | Comments |
---|---|---|---|
limit | number | The amout of builds to be displayed in one page | - |
offset | number | Represents the position of the first record in the page | If limit is 1, end point will target the findOne functionality and the offset will act as the actual build id |
search | string | Search string for all fields | The only argument is the string searched in the database. |
filter | string | Consists of a string used to filter results | The general form: "<FIELD>:<VALUE>". |
orderby | string | the name of the field that determens the soring of the resuls. | "<FIELD>:<ORDER_DIRECTION>" |
Response
Name | Type | Dimension | Required | Default value(s) | Description | Comments |
---|---|---|---|---|---|---|
[Object Root] | object | - | YES | - | - | - |
[Object Root].count | number | - | YES | - | Total amount of builds to be displayed (according to filter parameter) | - |
[Object Root].list | object array | - | YES | - | - | To describe a generic object element of the array, the refference to it's root is "list[]" |
[Object Root].list[].pk | number | - | YES | - | - | - |
[Object Root].list[].model | string | - | YES | - | - | - |
[Object Root].list[].fields | object | - | YES | - | - | - |
[Object Root].list[].fields.outcome | number | 2 | YES | - | Signals successful or failed build | 0 - the build has failed, 1 - successful build |
[Object Root].list[].fields.target | string | - | YES | - | The name of the build target(s) | - |
[Object Root].list[].fields.machine | string array | - | YES | - | The selected hardware | - |
[Object Root].list[].fields.started_on | number representation of date | - | YES | - | Marks the moment the process is started | - |
[Object Root].list[].fields.completed_on | number representation of date | - | YES | - | Marks the moment the process is completed | - |
[Object Root].list[].fields.errors_no | number | - | YES | - | Number of errors thrown by the build | - |
[Object Root].list[].fields.warnings_no | number | - | YES | - | Number of warnings thrown by the build | - |
[Object Root].list[].fields.cooker_log_path | string | - | YES | - | Path to log file | - |
[Object Root].list[].fields.image_fstypes | string array | - | YES | - | The extensions of the root file systems produced by the build | - |