Skip to main content

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: required
  • gitCommitId: required
  • jenkinsBuildUrl: 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)

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 required
  • gitCommitId 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):

  • gitCommitId
  • repositoryUrl
  • jenkinsBuildUrl
  • assets.name
  • assets.asset
  • assets.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"
}
]
}