Releases
A Release is a single revision or snapshot of your code that you eventually Deploy to a Cohort. A single Release object will contain many Artifacts which are binaries specific to a particular Hardware Version.
Route Parameters
The Release
versionshould be used whenever referencing a Release in an API or URL.
Request Schema
| Field | Type | Description |
|---|---|---|
version Required | String | Short Version of the Release Example: "1.2.3" |
min_version | String | Short Version of the minimum required version to update to this Release Example: "1.0.0" |
revision | String | Commit reference or hash Example: "11d95ef20f7a048ce1da1a6891dd3e2f92c89d85" |
notes | Text | Client provided notes (HTML, etc) about the release. Useful for Release Notes Example: "<ul><li>Fix bug #1234</li></ul>" |
extra_info | JSON | Client provided metadata about the release Example: {"anything": "you_want"} |
Query Parameters
The following parameters can be used to filter Releases.
| Query Parameter | Type | Description |
|---|---|---|
revision | String[] | Revision (generally commit hash) of the Release Example: "11d95ef20f7a048ce1da1a6891dd3e2f92c89d85" |
version | String[] | Version string of the Release Example: 1.0.0 |
hardware_version | String[] | Hardware Version that is associated with the Release Example: -created_date |
build_id | String[] | Filter by Build Identifiers of the Release's Artifacts Example: 8be26a9f3b9127bc898f34e05a30a9a2c706cf43 |
sort | String | Sort keys (listed below) Example: -created_date |
Sort Parameters
| Sort Parameter | Type | Description |
|---|---|---|
created_date | DateTime | Date the object was created |
Response Schema
{
"data": {
"id": 2,
"created_date": "2019-01-19T05:01:13.000000+00:00",
"updated_date": "2019-01-19T05:01:13.000000+00:00",
"version": "1.2.3",
"min_version": "1.0.0",
"revision": "11d95ef20f7a048ce1da1a6891dd3e2f92c89d85",
"notes": "<h1>Release Notes</h1><ul><li>Fix bug #1234</li><li>New Feature XYX</li></ul>",
"extra_info": {
"anything": "you_want",
"ci_system": "Jenkins",
"build_system": "GNU Make",
"build_time_s": 384,
},
"count_devices": 47
}
}
Create a Release
Create a **Release** for a given **Project**
List Releases
List all **Releases** for a given **Project**
Retrieve a Release
Retrieve a single **Release**
Update a Release
Update a single **Release**
Delete a Release
Delete a single **Release**
Retrieve Latest Release for a Device
For a given **Device** (*Device Unique Identifier* and *Hardware Version*), return the latest **Release** that should be installed.
Upload Release Artifact
Process a **Release Artifact** for a given **Project** after it has been uploaded using