GT-PROJECT-WORKFLOW-CREATE(1) gitea-cli Manual GT-PROJECT-WORKFLOW-CREATE(1)

gt-project-workflow-create - Create a project workflow

gt project workflow create <project> [flags]

Create a workflow that runs on an event and does something to the issue or pull request it concerns. --event and at least one action are required; the filters narrow which items it runs for, and Gitea refuses those the event does not support. Columns are given by title or ID, labels by name or ID.

A project can be supplied by its title or ID, as in gt project view; --by-name matches a number
as a title only. A workflow is supplied by its ID, which gt project workflow list shows.

actions, created_at, enabled, event, filters, id, updated_at

--add-label=[] Add these label names to the item

--column="" Move the item to this column, by title or ID

--disabled[=false] Create the workflow disabled

--dry-run[=false] Show the write requests gt would send, without sending them

--event="" Event that runs the workflow {item_added_to_project|item_removed_from_project|item_reopened|item_closed|item_column_changed|code_changes_requested|code_review_approved|pull_request_merged}

--from-column="" Run only for items moved from this column, by title or ID (event item_column_changed)

-h, --help[=false] help for create

--issue-state="" Close or reopen the item {close|reopen|none}

--issue-type="" Run only for issues or pull requests {issue|pull_request|any}

-l, --label=[] Run only for items with all of these label names

--remove-label=[] Remove these label names from the item

--to-column="" Run only for items moved to this column, by title or ID (event item_column_changed)

--account[=false] Manage the projects of your account instead of a repository

--by-name[=false] Match a numeric project argument as a title rather than an ID

--csv[=""] Output CSV with the specified comma-separated fields, or all fields

--cwd="" Working directory for repository discovery

--debug[=false] Log the method, URL, status, and duration of each HTTP request to stderr

--host="" Gitea instance URL, including any base path

--interactive[=false] Allow prompts with machine output

-q, --jq="" Filter JSON output using a jq expression; implies --json

--json[=""] Output JSON with the specified comma-separated fields, or all fields

--no-input[=false] Disable prompts and implicit editor/browser interactions

--org="" Manage the projects of an organization instead of a repository

--remote="" Git remote used for repository discovery

-R, --repo="" Select a repository as OWNER/REPO or URL

--sudo="" Perform API requests as this user (requires an administrator account)

--template="" Format JSON output using a Go template; implies --json (see gt help formatting)

--user="" Account name on the selected instance

# move newly added items to the Backlog column
$ gt project workflow create Roadmap --event item_added_to_project --column Backlog
# move merged pull requests to Done and label them
$ gt project workflow create Roadmap --event pull_request_merged --column Done --add-label merged
# react to items moved from Doing to Done
$ gt project workflow create 3 --org acme --event item_column_changed --from-column Doing --to-column Done --issue-state close

gt-project-workflow(1)

Nov 2026 gitea-cli