Skip to content

Work Items

KoukeNeko edited this page Sep 9, 2026 · 5 revisions

Work Items

English · 繁體中文

Covers epics, user stories, tasks, and issues, plus the watch, vote, history, and comment operations they share.

Addressing a work item

The positional argument of epic, story, task, and issue accepts three forms:

42
example-project#42
https://taiga.example.com/taiga/project/example-project/issue/42

A bare ref applies to the currently selected project. A project#ref pair or a URL works across projects without switching first.

Issues

taiga issue list
taiga issue view 42
taiga issue create --subject "Fix token refresh" --type Bug
taiga issue edit 42 --status "In progress"
taiga issue assign 42 --to alice
taiga issue comment 42 --body "Ready for verification"
taiga issue close 42 --status Closed
taiga issue delete 42 --yes

Status, priority, severity, and type are given by name and resolved to IDs. A name that matches nothing reports unknown_status, and one that matches several reports ambiguous_status — the CLI never guesses.

close may omit --status when the project has exactly one closed status. With several, interactive runs list the options and ask, while non-interactive runs require an explicit choice.

User stories

taiga story list --sprint backlog
taiga story view 51
taiga story create --subject "Add refresh-token rotation"
taiga story edit 51 --status "In progress"
taiga story assign 51 --to alice --to bob
taiga story move 51 --sprint sprint-27
taiga story comment 51 --body "Ready for review"
taiga story close 51 --status Closed

story can also be written as userstory or us. Stories support multiple assignees, so --to may be repeated. story move --sprint backlog returns the story to the backlog.

Tasks

taiga task list --story 51
taiga task view 72
taiga task create --story 51 --subject "Add API tests"
taiga task edit 72 --status "In progress"
taiga task assign 72 --to alice
taiga task unassign 72
taiga task comment 72 --body "Tests added"
taiga task done 72 --status Closed
taiga task reopen 72 --status New
taiga task move 72 --story 51
taiga task move 72 --sprint sprint-27
taiga task move 72 --sprint backlog

A task does not have to belong to a story. When --story is given, the task inherits that story's sprint; --sprint backlog clears both the parent story and the sprint.

Epics

taiga epic list
taiga epic view 8
taiga epic create --subject "Unify authentication"
taiga epic edit 8 --status "In progress" --assignee alice
taiga epic link 8 --story mobile-app#42
taiga epic stories 8
taiga epic unlink 8 --story mobile-app#42
taiga epic watch 8
taiga epic history 8 --type activity
taiga epic close 8
taiga epic delete 8 --yes

Epics and stories have a many-to-many relationship. link and unlink accept a story ref or URL from another project, do not treat the story as having a single parent epic, and do not disturb the story's other epic links.

Optimistic concurrency and --base-version

Every edit command reads the current version before sending its PATCH. Taiga compares that version per field, which produces two different outcomes worth knowing:

  • Someone changed a different field in the meantime: both edits land, and the version advances past yours. Nothing is lost.
  • Someone changed the same field you are changing: the write is refused, the CLI reports occ_conflict and exits with code 6, and their value stays.

So the guarantee is not a lock on the whole record; it is that you cannot silently overwrite a field somebody else has just set. Automation Recipes shows both outcomes against a real server.

To control this yourself, name the base version explicitly:

taiga issue edit 42 --subject "New subject" --base-version 7

Watching, voting, and participants

taiga issue watch 42
taiga issue unwatch 42
taiga issue watchers 42
taiga issue vote 42
taiga issue unvote 42
taiga issue voters 42
  • Watch, unwatch, and watcher lists work for issues, stories, tasks, epics, and wiki pages.
  • Vote, unvote, and voter lists work for issues, stories, tasks, and epics (wiki pages have no voters).

History

taiga issue history 42
taiga issue history 42 --type comment
taiga story history 51 --type activity
taiga task history 72 --page 2 --limit 20

--type accepts all, activity, and comment.

Editing and restoring comments

taiga comment edit issue 42 <history-id> --body "Corrected comment"
taiga comment delete issue 42 <history-id> --yes
taiga comment undelete issue 42 <history-id>
taiga comment versions issue 42 <history-id>

Comments are addressed by history entry ID, which you can obtain from history --type comment. After each mutation the CLI reads the entry back to confirm the result, comparing edit_comment_date or delete_comment_date. When it cannot confirm, it reports ambiguous_commit instead of assuming success.

Clone this wiki locally