Skip to content

vodoo project-task

Manage Odoo Project Tasks.

Commands

schedule

Set Gantt scheduling dates (requires Odoo Project Enterprise).

Arguments:

Argument Type Description
task_id INT Task ID

Options:

Option Type Description
--start TEXT Planned start datetime (YYYY-MM-DD HH:MM:SS) (required)
--end TEXT Deadline (YYYY-MM-DD) (required)

list

List project tasks.

Options:

Option Type Description
--project TEXT Filter by project name
--stage TEXT Filter by stage name
--assigned-to TEXT Filter by assigned user name
--limit INT Maximum number of tasks (default: 50)
--field / -f TEXT Specific fields to fetch (can be used multiple times)

create

Create a complete task in one atomic request. Relation IDs must be positive.

Supply either a positional name or --name/--title, not both.

Examples: vodoo project-task create "Fix login bug" --project 10 vodoo project-task create --project 2 --name "Task title" --description-file task.md \ --stage 15 --tag 2 --tag 5 --assignee 5 --assignee 6 \ --parent 100 --depends-on 90 --depends-on 91

Arguments:

Argument Type Description
name TEXT Task name (or use --name/--title)

Options:

Option Type Description
--project / -p INT Project ID (required)
--name / --title TEXT Task name instead of positional name
--description / --desc / -d TEXT Task description (Markdown by default)
--description-file PATH Read UTF-8 description from a file or '-' stdin
--assignee / --user / -u INT Assigned user ID (can repeat)
--tag / -t INT Tag ID (can repeat)
--parent INT Parent task ID for subtask
--stage INT Stage ID
--depends-on INT Blocking task ID (can repeat)
--no-markdown BOOL Send description as raw HTML without conversion

context

Read complete task context. Incomplete context is emitted with exit status 1.

Arguments:

Argument Type Description
task_id INT Task ID

Options:

Option Type Description
--field / -f TEXT Additional task fields (repeatable)
--page-size INTEGER RANGE Chatter/attachment page size (default: 100)
--max-pages INTEGER RANGE Cap pages per section; report continuation

show

Show detailed task information.

JSON/TOON preserve raw task fields and add a relations mapping with lists of {id, name} objects, sorted by numeric ID (including many2one fields). --field projects raw fields and resolves only supplied relation fields.

Arguments:

Argument Type Description
task_id INT Task ID

Options:

Option Type Description
--field / -f TEXT Specific fields to fetch (can be used multiple times)
--html BOOL Show raw HTML description instead of markdown

comment

Add a comment to a task (visible to followers).

Arguments:

Argument Type Description
task_id INT Task ID
message TEXT Comment message

Options:

Option Type Description
--author / -a INT Requested author; cross-user attribution requires an internal user; Odoo may reject or override share users
--no-markdown BOOL Disable markdown to HTML conversion

note

Add an internal note to a task.

Arguments:

Argument Type Description
task_id INT Task ID
message TEXT Note message

Options:

Option Type Description
--author / -a INT Requested author; cross-user attribution requires an internal user; Odoo may reject or override share users
--no-markdown BOOL Disable markdown to HTML conversion

tags

List available project tags.

tag

Add a tag to a task.

Arguments:

Argument Type Description
task_id INT Task ID
tag_id INT Tag ID

tag-create

Create a new project tag.

Arguments:

Argument Type Description
name TEXT Tag name

Options:

Option Type Description
--color INT Tag color index (0-11)

tag-delete

Delete a project tag.

Arguments:

Argument Type Description
tag_id INT Tag ID to delete

Options:

Option Type Description
--confirm BOOL Confirm deletion

chatter

Show message history/chatter for a task.

Arguments:

Argument Type Description
task_id INT Task ID

Options:

Option Type Description
--limit INT Maximum number of messages to show
--html BOOL Show raw HTML body instead of plain text

attachments

List attachments for a task.

Arguments:

Argument Type Description
task_id INT Task ID

download

Download a single attachment by ID.

Arguments:

Argument Type Description
attachment_id INT Attachment ID

Options:

Option Type Description
--output PATH Output file path (defaults to attachment name)

download-all

Download all attachments from a task.

Arguments:

Argument Type Description
task_id INT Task ID

Options:

Option Type Description
--output / -o PATH Output directory (defaults to current directory)
--extension / --ext TEXT Filter by file extension (e.g., pdf, jpg, png)

fields

List available fields or show field values for a specific task.

Arguments:

Argument Type Description
task_id INT Task ID (optional)

Options:

Option Type Description
--field-name TEXT Show details for a specific field

set

Set field values on a task.

Supports operators: =, +=, -=, *=, /=
HTML fields (like description) accept markdown input and display markdown by default.
--description-file reads verbatim UTF-8 text (or stdin with '-'), using the same
conversion rules. It cannot be combined with an inline description assignment.
--no-markdown disables conversion; --html only changes displayed output.

Examples:
    vodoo project-task set 42 priority=1 name="New Task Title"
    vodoo project-task set 42 'user_ids=json:[[6,0,[5]]]' stage_id=3
    vodoo project-task set 42 project_id=10
    vodoo project-task set 42 priority+=1
    vodoo project-task set 42 'description=# Task Details
  • Item 1
  • Item 2' vodoo project-task set 42 --description-file task.md cat task.md | vodoo project-task set 42 --description-file -

Arguments:

Argument Type Description
task_id INT Task ID
fields TEXT... Field assignments in format 'field=value' or 'field+=amount'

Options:

Option Type Description
--description-file PATH UTF-8 description file; '-' reads standard input
--no-markdown BOOL Disable markdown to HTML conversion for HTML fields
--html BOOL Show raw HTML updated values instead of markdown (markdown is the default)
--check-write-date TEXT Best-effort, non-atomic freshness check (UTC YYYY-MM-DD HH:MM:SS). Concurrent changes after the read or within the same second can be missed.

attach

Attach a file to a task.

Arguments:

Argument Type Description
task_id INT Task ID
file_path PATH Path to file to attach

Options:

Option Type Description
--name / -n TEXT Custom attachment name (defaults to filename)

url

Get the web URL for a task.

Arguments:

Argument Type Description
task_id INT Task ID

milestone set

Assign a project task to a milestone.

Arguments:

Argument Type Description
task_id INT Task ID
milestone_id INT Milestone ID

depends add

Add one or more dependencies to a task without replacing existing dependencies.

Arguments:

Argument Type Description
task_id INT Blocked task ID
blocked_by_ids INT... IDs of tasks that must be completed first

depends clear

Remove all dependencies from a task.

Arguments:

Argument Type Description
task_id INT Task ID