CreateTask
client.Environments.Automations.Tasks.New(ctx, body) (*EnvironmentAutomationTaskNewResponse, error)
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
package main
import (
"context"
"fmt"
"github.com/gitpod-io/gitpod-sdk-go"
"github.com/gitpod-io/gitpod-sdk-go/option"
"github.com/gitpod-io/gitpod-sdk-go/shared"
)
func main() {
client := gitpod.NewClient(
option.WithBearerToken("My Bearer Token"),
)
task, err := client.Environments.Automations.Tasks.New(context.TODO(), gitpod.EnvironmentAutomationTaskNewParams{
EnvironmentID: gitpod.F("07e03a28-65a5-4d98-b532-8ea67b188048"),
Metadata: gitpod.F(shared.TaskMetadataParam{
Description: gitpod.F("Builds the project artifacts"),
Name: gitpod.F("Build Project"),
Reference: gitpod.F("build"),
TriggeredBy: gitpod.F([]shared.AutomationTriggerParam{shared.AutomationTriggerParam{
PostEnvironmentStart: gitpod.F(true),
}}),
}),
Spec: gitpod.F(shared.TaskSpecParam{
Command: gitpod.F("npm run build"),
}),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", 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": {}
}
}
}
}