CreateTask
client.environments.automations.tasks.create(TaskCreateParams { dependsOn, environmentId, metadata, spec } body, RequestOptionsoptions?): TaskCreateResponse { task }
POST/gitpod.v1.EnvironmentAutomationService/CreateTask
Creates a new automation task.
Use this method to:
- Define one-off or scheduled tasks
- Set up build or test automation
- Configure task dependencies
- Specify execution environments
Examples
-
Create basic task:
Creates a simple build task.
environmentId: "07e03a28-65a5-4d98-b532-8ea67b188048" metadata: reference: "build" name: "Build Project" description: "Builds the project artifacts" triggeredBy: - postEnvironmentStart: true spec: command: "npm run build" -
Create task with dependencies:
Creates a task that depends on other services.
environmentId: "07e03a28-65a5-4d98-b532-8ea67b188048" metadata: reference: "test" name: "Run Tests" description: "Runs the test suite" spec: command: "npm test" dependsOn: ["d2c94c27-3b76-4a42-b88c-95a85e392c68"]
CreateTask
import Gitpod from '@gitpod/sdk';
const client = new Gitpod({
bearerToken: process.env['GITPOD_API_KEY'], // This is the default and can be omitted
});
const task = await client.environments.automations.tasks.create({
environmentId: '07e03a28-65a5-4d98-b532-8ea67b188048',
metadata: {
description: 'Builds the project artifacts',
name: 'Build Project',
reference: 'build',
triggeredBy: [{ postEnvironmentStart: true }],
},
spec: { command: 'npm run build' },
});
console.log(task.task);{
"task": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"dependsOn": [
"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",
"triggeredBy": [
{
"beforeSnapshot": true,
"manual": true,
"postDevcontainerStart": true,
"postEnvironmentStart": true,
"postMachineStart": true,
"prebuild": true
}
]
},
"spec": {
"command": "command",
"env": [
{
"name": "x",
"value": "value",
"valueFrom": {
"secretRef": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
}
}
],
"prebuildRequiresSuccess": true,
"runsOn": {
"docker": {
"environment": [
"string"
],
"image": "x"
},
"machine": {}
}
}
}
}Returns Examples
{
"task": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"dependsOn": [
"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",
"triggeredBy": [
{
"beforeSnapshot": true,
"manual": true,
"postDevcontainerStart": true,
"postEnvironmentStart": true,
"postMachineStart": true,
"prebuild": true
}
]
},
"spec": {
"command": "command",
"env": [
{
"name": "x",
"value": "value",
"valueFrom": {
"secretRef": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
}
}
],
"prebuildRequiresSuccess": true,
"runsOn": {
"docker": {
"environment": [
"string"
],
"image": "x"
},
"machine": {}
}
}
}
}