Release 360 API
Release 360 helps you backtrack a Git commit using build details captured from Jenkins along with build assets such as:
- Docker image tag(s)
- Helm chart artifact(s) (e.g.
.tgz,.gz,.zip) - Jenkins build URL
- Any additional build artifacts
The core idea is to create a node centered around a gitCommitId + repositoryUrl and attach one or more assets.
Authentication (API Key)
Release 360 ingest is designed for automation (Jenkins). Requests must include:
X-API-Key: <API_KEY_ISSUED_BY_AUTH_SERVICE>
The Releases service validates the API key by calling:
POST /auth/v1/api-keys/validate (Auth service)
Create Release 360 record (Jenkins ingest)
POST /release-manager/v1/projects/{projectId}/release-360
Sample curl (copyable)
curl --location 'https://service.releasepilot.com/release-manager/v1/projects/695d2f71f34fb4ceadee7b7f/release-360' \
--header 'x-api-key: 2e0add12f919139f3f96d535b2b3a7c0...8a8a' \
--header 'Content-Type: application/json' \
--data '{
"repositoryUrl": "https://github.com/acme/bms",
"gitCommitId": "a1b2c3d4e5f6...",
"jenkinsBuildUrl": "https://jenkins.acme.com/job/bms/123/",
"assets": [
{ "name": "bms-api", "asset": "bms-api:1.2.3", "type": "docker_image" },
{ "name": "bms-api", "asset": "bms-api-1233.tgz", "type": "helm_chart" },
{ "name": "bms-api", "asset": "https://jenkins.acme.com/job/bms/123/", "type": "jenkins_url" }
]
}'
Headers
X-API-Key(required): API key for automation access
Request body
{
"repositoryUrl": "https://github.com/acme/bms",
"gitCommitId": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"jenkinsBuildUrl": "https://jenkins.acme.com/job/bms/123/",
"assets": [
{ "name": "bms-api", "asset": "bms-api:1.2.3", "type": "docker_image" },
{ "name": "bms-api", "asset": "bms-api-1233.tgz", "type": "helm_chart" },
{ "name": "bms-api", "asset": "https://jenkins.acme.com/job/bms/123/", "type": "jenkins_url" }
]
}
Field notes
repositoryUrl: requiredgitCommitId: requiredjenkinsBuildUrl: optional (but recommended)assets: array, optional but recommended- Each asset is
{ name, asset, type? } - There can be multiple assets per build (e.g. docker + helm + file artifacts)
- Each asset is
Example response (201)
{
"data": {
"_id": "6622d9b8c0f1b2c3d4e5f6a7",
"projectId": "66791cc1cbb87b72c4fc7986",
"repositoryUrl": "https://github.com/acme/bms",
"gitCommitId": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"jenkinsBuildUrl": "https://jenkins.acme.com/job/bms/123/",
"assets": [
{ "name": "bms-api", "asset": "bms-api:1.2.3", "type": "docker_image" },
{ "name": "bms-api", "asset": "bms-api-1233.tgz", "type": "helm_chart" }
],
"createdDate": "2026-04-28T12:34:56.000Z"
}
}
Validation errors (400)
repositoryUrl is requiredgitCommitId is required
Auth errors
403 forbidden: missing/invalid API key
List / Search Release 360 records
GET /release-manager/v1/projects/{projectId}/release-360?q=<search>
Query params
q(optional): search string
Search behavior
q matches (case-insensitive):
gitCommitIdrepositoryUrljenkinsBuildUrlassets.nameassets.assetassets.type
This enables searches like:
- by docker tag:
bms-api:1.2.3 - by chart artifact:
bms-api-1233.tgz - by app name:
bms-api - by commit prefix:
a1b2c3d4
Example response (200)
{
"data": [
{
"_id": "6622d9b8c0f1b2c3d4e5f6a7",
"projectId": "66791cc1cbb87b72c4fc7986",
"repositoryUrl": "https://github.com/acme/bms",
"gitCommitId": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"jenkinsBuildUrl": "https://jenkins.acme.com/job/bms/123/",
"assets": [
{ "name": "bms-api", "asset": "bms-api:1.2.3", "type": "docker_image" },
{ "name": "bms-api", "asset": "bms-api-1233.tgz", "type": "helm_chart" }
],
"createdDate": "2026-04-28T12:34:56.000Z"
}
]
}