KCIDB - Submit
Submit
Submit KCIDB data (checkouts, builds, and tests). Objects are validated against the extended KCIDB schema, then created or updated in DataWarehouse. (Auth Required)
POST /api/1/kcidb/submit
Request body must be JSON with a top-level data property containing a valid KCIDB
document (version, and optional checkouts, builds, and tests arrays).
Checkouts must be submitted before builds, and builds before tests.
{
"data": {
"version": {
"major": 4,
"minor": 0
},
"checkouts": [
{
"origin": "redhat",
"id": "redhat:repo.git@decd6167bf4f6bec1284006d0522381b44660df3"
}
],
"builds": [
{
"origin": "redhat",
"checkout_id": "redhat:repo.git@decd6167bf4f6bec1284006d0522381b44660df3",
"id": "redhat:build-1"
}
],
"tests": [
{
"origin": "redhat",
"build_id": "redhat:build-1",
"id": "redhat:test-1"
}
]
}
}
| Field | Type | Required | Description |
|---|---|---|---|
data |
object |
Yes | KCIDB document to submit. |
On success, responds with 201 Created and an empty JSON object:
{}
On validation or processing errors, responds with 400 Bad Request:
{
"errors": [
"Expected property \"data\" with a valid KCIDB content"
]
}
When an object references a missing parent, each error is a list with the object type, object id, and error message:
{
"errors": [
[
"builds",
"redhat:1234",
"KCIDBCheckout id=redhat:5678 is not present in the DB"
]
]
}
Valid objects may still be committed when the payload mixes valid and invalid
items; the response status remains 400 Bad Request if any errors occurred.