CreateService
POST/gitpod.v1.EnvironmentAutomationService/CreateService
Creates a new automation service for an environment.
Use this method to:
- Set up long-running services
- Configure service triggers
- Define service dependencies
- Specify runtime environments
Examples
-
Create basic service:
Creates a simple service with start command.
environmentId: "07e03a28-65a5-4d98-b532-8ea67b188048" metadata: reference: "web-server" name: "Web Server" description: "Runs the development web server" triggeredBy: - postDevcontainerStart: true spec: commands: start: "npm run dev" ready: "curl -s http://localhost:3000" -
Create Docker-based service:
Creates a service running in a specific container.
environmentId: "07e03a28-65a5-4d98-b532-8ea67b188048" metadata: reference: "redis" name: "Redis Server" description: "Redis cache service" spec: commands: start: "redis-server" runsOn: docker: image: "redis:7"
CreateService
curl https://app.gitpod.io/api/gitpod.v1.EnvironmentAutomationService/CreateService \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $GITPOD_API_KEY" \
-d '{}'{
"service": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"environmentId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"metadata": {
"createdAt": "2019-12-27T18:11:19.117Z",
"creator": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"principal": "PRINCIPAL_UNSPECIFIED"
},
"description": "description",
"name": "x",
"reference": "reference",
"role": "SERVICE_ROLE_UNSPECIFIED",
"triggeredBy": [
{
"beforeSnapshot": true,
"manual": true,
"postDevcontainerStart": true,
"postEnvironmentStart": true,
"postMachineStart": true,
"prebuild": true
}
]
},
"spec": {
"commands": {
"ready": "ready",
"start": "x",
"stop": "stop"
},
"desiredPhase": "SERVICE_PHASE_UNSPECIFIED",
"env": [
{
"name": "x",
"value": "value",
"valueFrom": {
"secretRef": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
}
}
],
"readinessTimeout": "+9125115.360s",
"runsOn": {
"docker": {
"environment": [
"string"
],
"image": "x"
},
"machine": {}
},
"session": "session",
"specVersion": "specVersion"
},
"status": {
"failureMessage": "failureMessage",
"logUrl": "logUrl",
"output": {
"foo": "string"
},
"phase": "SERVICE_PHASE_UNSPECIFIED",
"session": "session",
"statusVersion": "statusVersion"
}
}
}Returns Examples
{
"service": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"environmentId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"metadata": {
"createdAt": "2019-12-27T18:11:19.117Z",
"creator": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"principal": "PRINCIPAL_UNSPECIFIED"
},
"description": "description",
"name": "x",
"reference": "reference",
"role": "SERVICE_ROLE_UNSPECIFIED",
"triggeredBy": [
{
"beforeSnapshot": true,
"manual": true,
"postDevcontainerStart": true,
"postEnvironmentStart": true,
"postMachineStart": true,
"prebuild": true
}
]
},
"spec": {
"commands": {
"ready": "ready",
"start": "x",
"stop": "stop"
},
"desiredPhase": "SERVICE_PHASE_UNSPECIFIED",
"env": [
{
"name": "x",
"value": "value",
"valueFrom": {
"secretRef": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
}
}
],
"readinessTimeout": "+9125115.360s",
"runsOn": {
"docker": {
"environment": [
"string"
],
"image": "x"
},
"machine": {}
},
"session": "session",
"specVersion": "specVersion"
},
"status": {
"failureMessage": "failureMessage",
"logUrl": "logUrl",
"output": {
"foo": "string"
},
"phase": "SERVICE_PHASE_UNSPECIFIED",
"session": "session",
"statusVersion": "statusVersion"
}
}
}