mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat(cli): promote tasks commands from experimental to GA (#20916)
## Overview This change promotes the tasks CLI commands from `coder exp task` to `coder task`, marking them as generally available (GA). ## Migration Users will need to update their scripts from: ```shell coder exp task create "my task" ``` To: ```shell coder task create "my task" ``` --- 🤖 This change was written by Claude Sonnet 4.5 Thinking using [mux](https://github.com/coder/mux) and reviewed by a human 🏄🏻♂️
This commit is contained in:
+9
-226
@@ -1,230 +1,13 @@
|
||||
# Tasks CLI
|
||||
|
||||
The Coder CLI provides experimental commands for managing tasks programmatically. These are available under `coder exp task`:
|
||||
The Tasks CLI documentation has moved to the auto-generated CLI reference pages:
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task
|
||||
- [task](../reference/cli/task.md) - Main tasks command
|
||||
- [task create](../reference/cli/task_create.md) - Create a task
|
||||
- [task delete](../reference/cli/task_delete.md) - Delete tasks
|
||||
- [task list](../reference/cli/task_list.md) - List tasks
|
||||
- [task logs](../reference/cli/task_logs.md) - Show task logs
|
||||
- [task send](../reference/cli/task_send.md) - Send input to a task
|
||||
- [task status](../reference/cli/task_status.md) - Show task status
|
||||
|
||||
Experimental task commands.
|
||||
|
||||
Aliases: tasks
|
||||
|
||||
SUBCOMMANDS:
|
||||
create Create an experimental task
|
||||
delete Delete experimental tasks
|
||||
list List experimental tasks
|
||||
logs Show a task's logs
|
||||
send Send input to a task
|
||||
status Show the status of a task.
|
||||
```
|
||||
|
||||
## Creating tasks
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task create [flags] [input]
|
||||
|
||||
Create an experimental task
|
||||
|
||||
- Create a task with direct input:
|
||||
|
||||
$ coder exp task create "Add authentication to the user service"
|
||||
|
||||
- Create a task with stdin input:
|
||||
|
||||
$ echo "Add authentication to the user service" | coder exp task create
|
||||
|
||||
- Create a task with a specific name:
|
||||
|
||||
$ coder exp task create --name task1 "Add authentication to the user service"
|
||||
|
||||
- Create a task from a specific template / preset:
|
||||
|
||||
$ coder exp task create --template backend-dev --preset "My Preset" "Add authentication to the user service"
|
||||
|
||||
- Create a task for another user (requires appropriate permissions):
|
||||
|
||||
$ coder exp task create --owner user@example.com "Add authentication to the user service"
|
||||
|
||||
OPTIONS:
|
||||
-O, --org string, $CODER_ORGANIZATION
|
||||
Select which organization (uuid or name) to use.
|
||||
|
||||
--name string
|
||||
Specify the name of the task. If you do not specify one, a name will be generated for you.
|
||||
|
||||
--owner string (default: me)
|
||||
Specify the owner of the task. Defaults to the current user.
|
||||
|
||||
--preset string, $CODER_TASK_PRESET_NAME (default: none)
|
||||
-q, --quiet bool
|
||||
Only display the created task's ID.
|
||||
|
||||
--stdin bool
|
||||
Reads from stdin for the task input.
|
||||
|
||||
--template string, $CODER_TASK_TEMPLATE_NAME
|
||||
--template-version string, $CODER_TASK_TEMPLATE_VERSION
|
||||
```
|
||||
|
||||
## Deleting Tasks
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task delete [flags] <task> [<task> ...]
|
||||
|
||||
Delete experimental tasks
|
||||
|
||||
Aliases: rm
|
||||
|
||||
- Delete a single task.:
|
||||
|
||||
$ $ coder exp task delete task1
|
||||
|
||||
- Delete multiple tasks.:
|
||||
|
||||
$ $ coder exp task delete task1 task2 task3
|
||||
|
||||
- Delete a task without confirmation.:
|
||||
|
||||
$ $ coder exp task delete task4 --yes
|
||||
|
||||
OPTIONS:
|
||||
-y, --yes bool
|
||||
Bypass prompts.
|
||||
```
|
||||
|
||||
## Listing tasks
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task list [flags]
|
||||
|
||||
List experimental tasks
|
||||
|
||||
Aliases: ls
|
||||
|
||||
- List tasks for the current user.:
|
||||
|
||||
$ coder exp task list
|
||||
|
||||
- List tasks for a specific user.:
|
||||
|
||||
$ coder exp task list --user someone-else
|
||||
|
||||
- List all tasks you can view.:
|
||||
|
||||
$ coder exp task list --all
|
||||
|
||||
- List all your running tasks.:
|
||||
|
||||
$ coder exp task list --status running
|
||||
|
||||
- As above, but only show IDs.:
|
||||
|
||||
$ coder exp task list --status running --quiet
|
||||
|
||||
OPTIONS:
|
||||
-a, --all bool (default: false)
|
||||
List tasks for all users you can view.
|
||||
|
||||
-c, --column [id|organization id|owner id|owner name|name|template id|template name|template display name|template icon|workspace id|workspace agent id|workspace agent lifecycle|workspace agent health|initial prompt|status|state|message|created at|updated at|state changed] (default: name,status,state,state changed,message)
|
||||
Columns to display in table output.
|
||||
|
||||
-o, --output table|json (default: table)
|
||||
Output format.
|
||||
|
||||
-q, --quiet bool (default: false)
|
||||
Only display task IDs.
|
||||
|
||||
--status string
|
||||
Filter by task status (e.g. running, failed, etc).
|
||||
|
||||
--user string
|
||||
List tasks for the specified user (username, "me").
|
||||
```
|
||||
|
||||
## Viewing Task Logs
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task logs [flags] <task>
|
||||
|
||||
Show a task's logs
|
||||
|
||||
- Show logs for a given task.:
|
||||
|
||||
$ coder exp task logs task1
|
||||
|
||||
OPTIONS:
|
||||
-c, --column [id|content|type|time] (default: type,content)
|
||||
Columns to display in table output.
|
||||
|
||||
-o, --output table|json (default: table)
|
||||
Output format.
|
||||
```
|
||||
|
||||
## Sending input to a task
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task send [flags] <task> [<input> | --stdin]
|
||||
|
||||
Send input to a task
|
||||
|
||||
- Send direct input to a task.:
|
||||
|
||||
$ coder exp task send task1 "Please also add unit tests"
|
||||
|
||||
- Send input from stdin to a task.:
|
||||
|
||||
$ echo "Please also add unit tests" | coder exp task send task1 --stdin
|
||||
|
||||
OPTIONS:
|
||||
--stdin bool
|
||||
Reads the input from stdin.
|
||||
```
|
||||
|
||||
## Viewing Task Status
|
||||
|
||||
```console
|
||||
USAGE:
|
||||
coder exp task status [flags]
|
||||
|
||||
Show the status of a task.
|
||||
|
||||
Aliases: stat
|
||||
|
||||
- Show the status of a given task.:
|
||||
|
||||
$ coder exp task status task1
|
||||
|
||||
- Watch the status of a given task until it completes (idle or stopped).:
|
||||
|
||||
$ coder exp task status task1 --watch
|
||||
|
||||
OPTIONS:
|
||||
-c, --column [state changed|status|healthy|state|message] (default: state changed,status,healthy,state,message)
|
||||
Columns to display in table output.
|
||||
|
||||
-o, --output table|json (default: table)
|
||||
Output format.
|
||||
|
||||
--watch bool (default: false)
|
||||
Watch the task status output. This will stream updates to the terminal until the underlying workspace is stopped.
|
||||
```
|
||||
|
||||
> **Note**: The `--watch` flag will automatically exit when the task reaches a terminal state. Watch mode ends when:
|
||||
>
|
||||
> - The workspace is stopped
|
||||
> - The workspace agent becomes unhealthy or is shutting down
|
||||
> - The task completes (reaches a non-working state like completed, failed, or canceled)
|
||||
|
||||
## Identifying Tasks
|
||||
|
||||
Tasks can be identified in CLI commands using either:
|
||||
|
||||
- **Task Name**: The human-readable name (e.g., `my-task-name`)
|
||||
> Note: Tasks owned by other users can be identified by their owner and name (e.g., `alice/her-task`).
|
||||
- **Task ID**: The UUID identifier (e.g., `550e8400-e29b-41d4-a716-446655440000`)
|
||||
For the complete CLI reference, see the [CLI documentation](../reference/cli/index.md).
|
||||
|
||||
@@ -1771,6 +1771,41 @@
|
||||
"description": "Generate a support bundle to troubleshoot issues connecting to a workspace.",
|
||||
"path": "reference/cli/support_bundle.md"
|
||||
},
|
||||
{
|
||||
"title": "task",
|
||||
"description": "Manage tasks",
|
||||
"path": "reference/cli/task.md"
|
||||
},
|
||||
{
|
||||
"title": "task create",
|
||||
"description": "Create a task",
|
||||
"path": "reference/cli/task_create.md"
|
||||
},
|
||||
{
|
||||
"title": "task delete",
|
||||
"description": "Delete tasks",
|
||||
"path": "reference/cli/task_delete.md"
|
||||
},
|
||||
{
|
||||
"title": "task list",
|
||||
"description": "List tasks",
|
||||
"path": "reference/cli/task_list.md"
|
||||
},
|
||||
{
|
||||
"title": "task logs",
|
||||
"description": "Show a task's logs",
|
||||
"path": "reference/cli/task_logs.md"
|
||||
},
|
||||
{
|
||||
"title": "task send",
|
||||
"description": "Send input to a task",
|
||||
"path": "reference/cli/task_send.md"
|
||||
},
|
||||
{
|
||||
"title": "task status",
|
||||
"description": "Show the status of a task.",
|
||||
"path": "reference/cli/task_status.md"
|
||||
},
|
||||
{
|
||||
"title": "templates",
|
||||
"description": "Manage templates",
|
||||
|
||||
Generated
+1
@@ -36,6 +36,7 @@ Coder — A tool for provisioning self-hosted development environments with Terr
|
||||
| [<code>publickey</code>](./publickey.md) | Output your Coder public key used for Git operations |
|
||||
| [<code>reset-password</code>](./reset-password.md) | Directly connect to the database to reset a user's password |
|
||||
| [<code>state</code>](./state.md) | Manually manage Terraform state to fix broken workspaces |
|
||||
| [<code>task</code>](./task.md) | Manage tasks |
|
||||
| [<code>templates</code>](./templates.md) | Manage templates |
|
||||
| [<code>tokens</code>](./tokens.md) | Manage personal access tokens |
|
||||
| [<code>users</code>](./users.md) | Manage users |
|
||||
|
||||
Generated
+25
@@ -0,0 +1,25 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task
|
||||
|
||||
Manage tasks
|
||||
|
||||
Aliases:
|
||||
|
||||
* tasks
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task
|
||||
```
|
||||
|
||||
## Subcommands
|
||||
|
||||
| Name | Purpose |
|
||||
|-----------------------------------------|----------------------------|
|
||||
| [<code>create</code>](./task_create.md) | Create a task |
|
||||
| [<code>delete</code>](./task_delete.md) | Delete tasks |
|
||||
| [<code>list</code>](./task_list.md) | List tasks |
|
||||
| [<code>logs</code>](./task_logs.md) | Show a task's logs |
|
||||
| [<code>send</code>](./task_send.md) | Send input to a task |
|
||||
| [<code>status</code>](./task_status.md) | Show the status of a task. |
|
||||
Generated
+100
@@ -0,0 +1,100 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task create
|
||||
|
||||
Create a task
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task create [flags] [input]
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
```console
|
||||
- Create a task with direct input:
|
||||
|
||||
$ coder task create "Add authentication to the user service"
|
||||
|
||||
- Create a task with stdin input:
|
||||
|
||||
$ echo "Add authentication to the user service" | coder task create
|
||||
|
||||
- Create a task with a specific name:
|
||||
|
||||
$ coder task create --name task1 "Add authentication to the user service"
|
||||
|
||||
- Create a task from a specific template / preset:
|
||||
|
||||
$ coder task create --template backend-dev --preset "My Preset" "Add authentication to the user service"
|
||||
|
||||
- Create a task for another user (requires appropriate permissions):
|
||||
|
||||
$ coder task create --owner user@example.com "Add authentication to the user service"
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### --name
|
||||
|
||||
| | |
|
||||
|------|---------------------|
|
||||
| Type | <code>string</code> |
|
||||
|
||||
Specify the name of the task. If you do not specify one, a name will be generated for you.
|
||||
|
||||
### --owner
|
||||
|
||||
| | |
|
||||
|---------|---------------------|
|
||||
| Type | <code>string</code> |
|
||||
| Default | <code>me</code> |
|
||||
|
||||
Specify the owner of the task. Defaults to the current user.
|
||||
|
||||
### --template
|
||||
|
||||
| | |
|
||||
|-------------|----------------------------------------|
|
||||
| Type | <code>string</code> |
|
||||
| Environment | <code>$CODER_TASK_TEMPLATE_NAME</code> |
|
||||
|
||||
### --template-version
|
||||
|
||||
| | |
|
||||
|-------------|-------------------------------------------|
|
||||
| Type | <code>string</code> |
|
||||
| Environment | <code>$CODER_TASK_TEMPLATE_VERSION</code> |
|
||||
|
||||
### --preset
|
||||
|
||||
| | |
|
||||
|-------------|--------------------------------------|
|
||||
| Type | <code>string</code> |
|
||||
| Environment | <code>$CODER_TASK_PRESET_NAME</code> |
|
||||
| Default | <code>none</code> |
|
||||
|
||||
### --stdin
|
||||
|
||||
| | |
|
||||
|------|-------------------|
|
||||
| Type | <code>bool</code> |
|
||||
|
||||
Reads from stdin for the task input.
|
||||
|
||||
### -q, --quiet
|
||||
|
||||
| | |
|
||||
|------|-------------------|
|
||||
| Type | <code>bool</code> |
|
||||
|
||||
Only display the created task's ID.
|
||||
|
||||
### -O, --org
|
||||
|
||||
| | |
|
||||
|-------------|----------------------------------|
|
||||
| Type | <code>string</code> |
|
||||
| Environment | <code>$CODER_ORGANIZATION</code> |
|
||||
|
||||
Select which organization (uuid or name) to use.
|
||||
Generated
+40
@@ -0,0 +1,40 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task delete
|
||||
|
||||
Delete tasks
|
||||
|
||||
Aliases:
|
||||
|
||||
* rm
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task delete [flags] <task> [<task> ...]
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
```console
|
||||
- Delete a single task.:
|
||||
|
||||
$ $ coder task delete task1
|
||||
|
||||
- Delete multiple tasks.:
|
||||
|
||||
$ $ coder task delete task1 task2 task3
|
||||
|
||||
- Delete a task without confirmation.:
|
||||
|
||||
$ $ coder task delete task4 --yes
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### -y, --yes
|
||||
|
||||
| | |
|
||||
|------|-------------------|
|
||||
| Type | <code>bool</code> |
|
||||
|
||||
Bypass prompts.
|
||||
Generated
+92
@@ -0,0 +1,92 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task list
|
||||
|
||||
List tasks
|
||||
|
||||
Aliases:
|
||||
|
||||
* ls
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task list [flags]
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
```console
|
||||
- List tasks for the current user.:
|
||||
|
||||
$ coder task list
|
||||
|
||||
- List tasks for a specific user.:
|
||||
|
||||
$ coder task list --user someone-else
|
||||
|
||||
- List all tasks you can view.:
|
||||
|
||||
$ coder task list --all
|
||||
|
||||
- List all your running tasks.:
|
||||
|
||||
$ coder task list --status running
|
||||
|
||||
- As above, but only show IDs.:
|
||||
|
||||
$ coder task list --status running --quiet
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### --status
|
||||
|
||||
| | |
|
||||
|------|--------------------------------------------------------------------|
|
||||
| Type | <code>pending\|initializing\|active\|paused\|error\|unknown</code> |
|
||||
|
||||
Filter by task status.
|
||||
|
||||
### -a, --all
|
||||
|
||||
| | |
|
||||
|---------|--------------------|
|
||||
| Type | <code>bool</code> |
|
||||
| Default | <code>false</code> |
|
||||
|
||||
List tasks for all users you can view.
|
||||
|
||||
### --user
|
||||
|
||||
| | |
|
||||
|------|---------------------|
|
||||
| Type | <code>string</code> |
|
||||
|
||||
List tasks for the specified user (username, "me").
|
||||
|
||||
### -q, --quiet
|
||||
|
||||
| | |
|
||||
|---------|--------------------|
|
||||
| Type | <code>bool</code> |
|
||||
| Default | <code>false</code> |
|
||||
|
||||
Only display task IDs.
|
||||
|
||||
### -c, --column
|
||||
|
||||
| | |
|
||||
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Type | <code>[id\|organization id\|owner id\|owner name\|owner avatar url\|name\|display name\|template id\|template version id\|template name\|template display name\|template icon\|workspace id\|workspace name\|workspace status\|workspace build number\|workspace agent id\|workspace agent lifecycle\|workspace agent health\|workspace app id\|initial prompt\|status\|state\|message\|created at\|updated at\|state changed]</code> |
|
||||
| Default | <code>name,status,state,state changed,message</code> |
|
||||
|
||||
Columns to display in table output.
|
||||
|
||||
### -o, --output
|
||||
|
||||
| | |
|
||||
|---------|--------------------------|
|
||||
| Type | <code>table\|json</code> |
|
||||
| Default | <code>table</code> |
|
||||
|
||||
Output format.
|
||||
Generated
+38
@@ -0,0 +1,38 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task logs
|
||||
|
||||
Show a task's logs
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task logs [flags] <task>
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
```console
|
||||
- Show logs for a given task.:
|
||||
|
||||
$ coder task logs task1
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### -c, --column
|
||||
|
||||
| | |
|
||||
|---------|----------------------------------------|
|
||||
| Type | <code>[id\|content\|type\|time]</code> |
|
||||
| Default | <code>type,content</code> |
|
||||
|
||||
Columns to display in table output.
|
||||
|
||||
### -o, --output
|
||||
|
||||
| | |
|
||||
|---------|--------------------------|
|
||||
| Type | <code>table\|json</code> |
|
||||
| Default | <code>table</code> |
|
||||
|
||||
Output format.
|
||||
Generated
+32
@@ -0,0 +1,32 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task send
|
||||
|
||||
Send input to a task
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task send [flags] <task> [<input> | --stdin]
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
```console
|
||||
- Send direct input to a task.:
|
||||
|
||||
$ coder task send task1 "Please also add unit tests"
|
||||
|
||||
- Send input from stdin to a task.:
|
||||
|
||||
$ echo "Please also add unit tests" | coder task send task1 --stdin
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### --stdin
|
||||
|
||||
| | |
|
||||
|------|-------------------|
|
||||
| Type | <code>bool</code> |
|
||||
|
||||
Reads the input from stdin.
|
||||
Generated
+55
@@ -0,0 +1,55 @@
|
||||
<!-- DO NOT EDIT | GENERATED CONTENT -->
|
||||
# task status
|
||||
|
||||
Show the status of a task.
|
||||
|
||||
Aliases:
|
||||
|
||||
* stat
|
||||
|
||||
## Usage
|
||||
|
||||
```console
|
||||
coder task status [flags]
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
```console
|
||||
- Show the status of a given task.:
|
||||
|
||||
$ coder task status task1
|
||||
|
||||
- Watch the status of a given task until it completes (idle or stopped).:
|
||||
|
||||
$ coder task status task1 --watch
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### --watch
|
||||
|
||||
| | |
|
||||
|---------|--------------------|
|
||||
| Type | <code>bool</code> |
|
||||
| Default | <code>false</code> |
|
||||
|
||||
Watch the task status output. This will stream updates to the terminal until the underlying workspace is stopped.
|
||||
|
||||
### -c, --column
|
||||
|
||||
| | |
|
||||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Type | <code>[id\|organization id\|owner id\|owner name\|owner avatar url\|name\|display name\|template id\|template version id\|template name\|template display name\|template icon\|workspace id\|workspace name\|workspace status\|workspace build number\|workspace agent id\|workspace agent lifecycle\|workspace agent health\|workspace app id\|initial prompt\|status\|state\|message\|created at\|updated at\|state changed\|healthy]</code> |
|
||||
| Default | <code>state changed,status,healthy,state,message</code> |
|
||||
|
||||
Columns to display in table output.
|
||||
|
||||
### -o, --output
|
||||
|
||||
| | |
|
||||
|---------|--------------------------|
|
||||
| Type | <code>table\|json</code> |
|
||||
| Default | <code>table</code> |
|
||||
|
||||
Output format.
|
||||
Reference in New Issue
Block a user