Deployments
Deployments track software release events across your infrastructure. Each deployment records which code was shipped, to which environment, and its progression through status changes. Deployment monitor evaluations represent automated agent sessions that watch a deployment for anomalies after it lands.
DeploymentsService
Service: firetiger.deployments.v1.DeploymentsService
Resource name pattern: deployments/{deployment_id}
Access: Read-write
Resource types: Deployment, Deployment Status Event
Example flow
Create a deployment to record a release event, then list recent deployments.
1. Create a deployment
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/CreateDeployment" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"deployment_id": "github-12345",
"deployment": {
"source": "DEPLOYMENT_SOURCE_GITHUB",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"description": "Deploy main to production"
}
}'
{
"deployment": {
"name": "deployments/github-12345",
"source": "DEPLOYMENT_SOURCE_GITHUB",
"status": "DEPLOYMENT_STATUS_PENDING",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"description": "Deploy main to production",
"createTime": "2025-03-01T10:00:00Z",
"updateTime": "2025-03-01T10:00:00Z"
}
}
2. List recent production deployments
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/ListDeployments" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"filter": "labels.environment = \"production\"",
"order_by": "create_time desc",
"page_size": 5
}'
{
"deployments": [
{
"name": "deployments/github-12345",
"source": "DEPLOYMENT_SOURCE_GITHUB",
"status": "DEPLOYMENT_STATUS_SUCCESS",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"createTime": "2025-03-01T10:00:00Z",
"updateTime": "2025-03-01T10:05:00Z"
}
],
"nextPageToken": ""
}
3. Get a specific deployment
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/GetDeployment" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"name": "deployments/github-12345"}'
{
"deployment": {
"name": "deployments/github-12345",
"source": "DEPLOYMENT_SOURCE_GITHUB",
"status": "DEPLOYMENT_STATUS_SUCCESS",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"createTime": "2025-03-01T10:00:00Z",
"updateTime": "2025-03-01T10:05:00Z",
"startTime": "2025-03-01T10:01:00Z",
"completeTime": "2025-03-01T10:05:00Z",
"externalId": "12345",
"externalUrl": "https://github.com/acme-corp/backend/deployments/12345",
"description": "Deploy main to production"
}
}
Methods
| Method | Description |
|---|---|
| CreateDeployment | Create a new deployment |
| GetDeployment | Retrieve a deployment by name |
| ListDeployments | List deployments with filtering and pagination |
| ListDeploymentStatusEvents | List the status event changelog for a deployment |
CreateDeployment
Create a new deployment to record a release event.
POST /firetiger.deployments.v1.DeploymentsService/CreateDeployment
Request body
| Field | Type | Required | Description |
|---|---|---|---|
deployment_id |
string | Yes | ID for the new deployment (alphanumeric, hyphens, underscores) |
deployment |
Deployment | Yes | The deployment to create |
Example
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/CreateDeployment" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"deployment_id": "github-12345",
"deployment": {
"source": "DEPLOYMENT_SOURCE_GITHUB",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"description": "Deploy main to production"
}
}'
Response
{
"deployment": {
"name": "deployments/github-12345",
"source": "DEPLOYMENT_SOURCE_GITHUB",
"status": "DEPLOYMENT_STATUS_PENDING",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"description": "Deploy main to production",
"createTime": "2025-03-01T10:00:00Z",
"updateTime": "2025-03-01T10:00:00Z"
}
}
GetDeployment
Retrieve a deployment by name.
POST /firetiger.deployments.v1.DeploymentsService/GetDeployment
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Resource name of the deployment (deployments/{id}) |
Example
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/GetDeployment" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"name": "deployments/github-12345"}'
Response
{
"deployment": {
"name": "deployments/github-12345",
"source": "DEPLOYMENT_SOURCE_GITHUB",
"status": "DEPLOYMENT_STATUS_SUCCESS",
"labels": {
"repository": "acme-corp/backend",
"environment": "production",
"ref": "main",
"sha": "abc123def456"
},
"createTime": "2025-03-01T10:00:00Z",
"updateTime": "2025-03-01T10:05:00Z",
"startTime": "2025-03-01T10:01:00Z",
"completeTime": "2025-03-01T10:05:00Z",
"externalId": "12345",
"externalUrl": "https://github.com/acme-corp/backend/deployments/12345",
"description": "Deploy main to production"
}
}
ListDeployments
List deployments with optional filtering and pagination.
POST /firetiger.deployments.v1.DeploymentsService/ListDeployments
Request body
| Field | Type | Required | Description |
|---|---|---|---|
filter |
string | No | Filter expression |
order_by |
string | No | Field to sort by (e.g. create_time desc) |
page_size |
integer | No | Maximum results per page |
page_token |
string | No | Token for the next page of results |
show_deleted |
boolean | No | Include soft-deleted deployments |
Filter examples
labels.environment = "production"– deployments to productionlabels.repository = "acme-corp/backend"– deployments from a specific repositorystatus = "DEPLOYMENT_STATUS_SUCCESS"– successful deploymentscreate_time >= "2025-01-01T00:00:00Z"– deployments after a given date
Example
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/ListDeployments" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"filter": "labels.environment = \"production\"",
"order_by": "create_time desc",
"page_size": 10
}'
Response
{
"deployments": [
{
"name": "deployments/github-12345",
"source": "DEPLOYMENT_SOURCE_GITHUB",
"status": "DEPLOYMENT_STATUS_SUCCESS",
"labels": {
"repository": "acme-corp/backend",
"environment": "production"
},
"createTime": "2025-03-01T10:00:00Z",
"updateTime": "2025-03-01T10:05:00Z"
}
],
"nextPageToken": ""
}
ListDeploymentStatusEvents
List the status event changelog for a deployment, showing how its status changed over time.
POST /firetiger.deployments.v1.DeploymentsService/ListDeploymentStatusEvents
Request body
| Field | Type | Required | Description |
|---|---|---|---|
parent |
string | Yes | Parent deployment resource name (deployments/{id}) |
filter |
string | No | Filter expression |
order_by |
string | No | Field to sort by (e.g. event_time desc) |
page_size |
integer | No | Maximum results per page |
page_token |
string | No | Token for the next page of results |
Example
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/ListDeploymentStatusEvents" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"parent": "deployments/github-12345", "page_size": 25}'
Response
{
"statusEvents": [
{
"name": "deployments/github-12345/status-events/evt-001",
"deployment": "deployments/github-12345",
"status": "DEPLOYMENT_STATUS_IN_PROGRESS",
"description": "Deployment started",
"eventTime": "2025-03-01T10:01:00Z",
"createTime": "2025-03-01T10:01:00Z"
},
{
"name": "deployments/github-12345/status-events/evt-002",
"deployment": "deployments/github-12345",
"status": "DEPLOYMENT_STATUS_SUCCESS",
"description": "Deployment completed successfully",
"eventTime": "2025-03-01T10:05:00Z",
"createTime": "2025-03-01T10:05:00Z"
}
],
"nextPageToken": ""
}
DeploymentMonitorEvaluationService
Service: firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService
Resource name pattern: deployment-monitor-evaluations/{evaluation_id}
Access: Read-write
Resource type: Deployment Monitor Evaluation
Deployment monitor evaluations represent automated agent sessions that watch a deployment for anomalies. When a deployment lands, the deploy-monitor agent starts a monitoring session, observes system behavior over a window of time, and produces a summary with an overall outcome.
Methods
| Method | Description |
|---|---|
| GetDeploymentMonitorEvaluation | Retrieve a deployment monitor evaluation by name |
| ListDeploymentMonitorEvaluations | List evaluations with filtering and pagination |
GetDeploymentMonitorEvaluation
Retrieve a deployment monitor evaluation by name.
POST /firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/GetDeploymentMonitorEvaluation
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Resource name of the evaluation (deployment-monitor-evaluations/{id}) |
Example
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/GetDeploymentMonitorEvaluation" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{"name": "deployment-monitor-evaluations/eval-abc123"}'
Response
{
"evaluation": {
"name": "deployment-monitor-evaluations/eval-abc123",
"createTime": "2025-03-01T10:05:00Z",
"updateTime": "2025-03-01T10:35:00Z",
"sessionName": "agents/deploy-monitor/sessions/sess-xyz789",
"status": "DEPLOYMENT_MONITOR_EVALUATION_STATUS_COMPLETED",
"githubRunId": "9876543210",
"environment": "production",
"repository": "acme-corp/backend",
"headSha": "abc123def456",
"baseSha": "789012ghi345",
"prNumber": 42,
"deploymentTime": "2025-03-01T10:00:00Z",
"summary": "Deployment completed with no anomalies detected. All key metrics remained within expected ranges during the 30-minute monitoring window.",
"overallStatus": "successful"
}
}
ListDeploymentMonitorEvaluations
List deployment monitor evaluations with optional filtering and pagination.
POST /firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/ListDeploymentMonitorEvaluations
Request body
| Field | Type | Required | Description |
|---|---|---|---|
page_size |
integer | No | Maximum results per page |
page_token |
string | No | Token for the next page of results |
filter |
string | No | Filter expression |
order_by |
string | No | Field to sort by (default: create_time desc) |
show_deleted |
boolean | No | Include soft-deleted evaluations |
Example
curl -X POST "https://api.ft-jam.firetigerapi.com/firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/ListDeploymentMonitorEvaluations" \
-u "$USERNAME:$PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"filter": "environment = \"production\"",
"order_by": "create_time desc",
"page_size": 10
}'
Response
{
"evaluations": [
{
"name": "deployment-monitor-evaluations/eval-abc123",
"createTime": "2025-03-01T10:05:00Z",
"updateTime": "2025-03-01T10:35:00Z",
"status": "DEPLOYMENT_MONITOR_EVALUATION_STATUS_COMPLETED",
"environment": "production",
"repository": "acme-corp/backend",
"headSha": "abc123def456",
"overallStatus": "successful"
}
],
"nextPageToken": ""
}