CLI Reference¶
Complete reference for all Gira commands and options.
Table of Contents¶
Ticket Management¶
-
gira ticket add-dep
- Add a dependency relationship between tickets. -
gira ticket blame
- Discover tickets associated with specific file lines. -
gira ticket bulk-add-deps
- Add dependencies to multiple tickets at once. -
gira ticket bulk-remove-deps
- Remove dependencies from multiple tickets at once. -
gira ticket bulk-update
- Update multiple tickets with the same changes. -
gira ticket clear-deps
- Clear all dependencies from one or more tickets. -
gira ticket commits
- List all commits associated with a ticket. -
gira ticket create
- Create a new ticket. -
gira ticket delete
- Delete or archive ticket(s). -
gira ticket deps
- Show dependency relationships for a ticket. -
gira ticket edit
- Edit a ticket (alias for update). -
gira ticket list
- List tickets with optional filters. -
gira ticket ls
- List tickets (alias for list). -
gira ticket move
- Move ticket(s) to a different status/swimlane. -
gira ticket mv
- Move ticket(s) to a different status (alias for move). -
gira ticket order
- Set the order of a ticket within its status column. -
gira ticket remove-dep
- Remove a dependency relationship between tickets. -
gira ticket rm
- Remove ticket(s) (alias for delete). -
gira ticket show
- Show details of a specific ticket. -
gira ticket ticket estimate batch
- Interactive batch estimation of multiple tickets. -
gira ticket ticket estimate compare
- Compare two tickets side-by-side for relative estimation. -
gira ticket ticket estimate relative
- Show base ticket details while estimating other tickets. -
gira ticket ticket estimate set
- Set story points for one or more tickets. -
gira ticket tree
- Display parent ticket and all subtasks in a hierarchical tree view. -
gira ticket update
- Update one or more tickets.
Global Options¶
These options can be used with any command:
--help
- Show help message and exit--version
- Show version number and exit
Commands¶
gira ticket create
¶
Create a new ticket.
Arguments:
title
- Ticket title (required unless using --stdin) (optional)- Type: string
- Min length: 3
- Max length: 200
Options:
-d, --description
- Ticket description (use '-' for stdin, 'editor' to open editor)-
Max length: 5000
-
--description-file
- Read description from a file - Default:
-
Examples: ticket-description.md, docs/feature-spec.md, /tmp/bug-report.txt
-
-p, --priority
- Priority level - Choices: low, medium, high, critical
- Default: medium
-
Examples: medium, high
-
-a, --assignee
- Assignee - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
-t, --type
- Ticket type -
Default: task
-
-l, --labels
- Comma-separated labels -
Default:
-
-e, --epic
- Epic ID -
Default:
-
--parent
- Parent ticket ID for subtasks -
Default:
-
-sp, --story-points
- Story points estimate - Type: integer
-
Default:
-
-s, --status
- Initial status (e.g., backlog, todo, in_progress) - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket ID -
Type: boolean
-
--strict
- Enforce strict assignee validation (no external assignees) -
Type: boolean
-
--stdin
- Read JSON array of tickets from stdin for bulk creation -
Type: boolean
-
--jsonl
- Read JSONL (JSON Lines) format for streaming large datasets -
Type: boolean
-
--csv
- Read CSV format from stdin for bulk creation -
Type: boolean
-
--csv-delimiter
- CSV delimiter character (default: comma) -
Default: ,
-
--skip-invalid
- Skip invalid rows and continue processing -
Type: boolean
-
--fail-on-error/--no-fail-on-error
- Exit with error if any row fails (default: true) - Type: boolean
-
Default: True
-
--cf
- Custom field value in format 'name=value' (can be used multiple times) - Type: array
- Default:
Examples:
gira ticket list
¶
List tickets with optional filters.
Options:
-q, --query
- Query expression (e.g., 'status:todo AND priority:high')- Default:
-
Examples: ..py$, ^test_., (bug|fix):
-
-s, --status
- Filter by status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-a, --assignee
- Filter by assignee - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
-t, --type
- Filter by type -
Default:
-
-p, --priority
- Filter by priority - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
-l, --label
- Filter by label -
Default:
-
--parent
- Filter by parent ticket ID (show subtasks) -
Default:
-
--blocked
- Show only tickets blocked by unresolved dependencies -
Type: boolean
-
--story-points-eq
- Filter by exact story point value - Type: integer
-
Default:
-
--story-points-gt
- Filter by story points greater than value - Type: integer
-
Default:
-
--story-points-lt
- Filter by story points less than value - Type: integer
-
Default:
-
--created-after
- Filter tickets created after date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--created-before
- Filter tickets created before date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--updated-after
- Filter tickets updated after date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--updated-before
- Filter tickets updated before date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--due-after
- Filter tickets due after date (YYYY-MM-DD) -
Default:
-
--due-before
- Filter tickets due before date (YYYY-MM-DD) -
Default:
-
--due-on
- Filter tickets due on specific date (YYYY-MM-DD) -
Default:
-
--overdue
- Show only tickets past their due date -
Type: boolean
-
--has-comments
- Show only tickets that have comments -
Type: boolean
-
--no-comments
- Show only tickets without comments -
Type: boolean
-
--has-parent
- Show only subtasks that have a parent ticket -
Type: boolean
-
--no-parent
- Show only tickets that are not subtasks -
Type: boolean
-
--in-sprint
- Filter tickets in a specific sprint -
Default:
-
--not-in-sprint
- Filter tickets not in a specific sprint -
Default:
-
--not-in-epic
- Filter tickets not linked to a specific epic -
Default:
-
--epic
- Filter tickets by epic ID (comma-separated for multiple epics) -
Default:
-
--no-epic
- Show only tickets without epic assignment (alias for --not-in-epic without value) -
Type: boolean
-
--search
- Search text in ticket fields (default: title and description) -
Default:
-
--search-in
- Specify fields to search: title, description, id, status, type, priority, assignee, reporter, labels, all (can be used multiple times) - Type: array
-
Default:
-
--exact-match
- Perform exact string match instead of fuzzy match -
Type: boolean
-
--regex-search
- Treat search pattern as a regular expression - Type: boolean
-
Examples: ..py$, ^test_., (bug|fix):
-
--case-sensitive-search
- Make search case-sensitive -
Type: boolean
-
--sort
- Sort by: id, priority, created, updated, title, order -
Default: id
-
-f, --format
- Output format - Type: enum
- Choices: TABLE, JSON, YAML, CSV, TSV, TEXT, IDS
- Default: table
-
Examples: json, table
-
--ids-only
- Show only ticket IDs -
Type: boolean
-
--counts
- Show summary counts -
Type: boolean
-
--include-archived
- Include archived tickets in results -
Type: boolean
-
--fields
- Comma-separated list of fields to include in JSON output (e.g., 'id,title,status' or use aliases like 'basics') -
Default:
-
--filter-json
- JSONPath expression to filter JSON output (e.g., '$[?(@.priority=="high")].id') -
Default:
-
--color
- Enable syntax highlighting for JSON output (default: no color for AI compatibility) -
Type: boolean
-
--no-color
- Explicitly disable syntax highlighting (default is already no color) - Type: boolean
Examples:
gira ticket show
¶
Show details of a specific ticket.
Arguments:
ticket_id
- Ticket ID to show (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-f, --format
- Output format- Type: enum
- Choices: TABLE, JSON, YAML, CSV, TSV, TEXT, IDS
- Default: text
-
Examples: json, table
-
--json
- Output as JSON (shorthand for --format json) -
Type: boolean
-
--filter-json
- JSONPath expression to filter JSON output (e.g., '$.title') -
Default:
-
--color
- Enable syntax highlighting for JSON output (default: no color for AI compatibility) -
Type: boolean
-
--no-color
- Explicitly disable syntax highlighting (default is already no color) - Type: boolean
Examples:
gira ticket update
¶
Update one or more tickets.
Arguments:
ticket_ids
- Ticket ID(s) to update (supports patterns like 'GCM-1*', ranges like 'GCM-1..10', use '-' to read IDs from stdin, or omit for --stdin JSON) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-t, --title
- New title- Default:
- Min length: 3
-
Max length: 200
-
-d, --description
- New description (use '-' for stdin, 'editor' to open editor) - Default:
-
Max length: 5000
-
--description-file
- Read description from a file - Default:
-
Examples: ticket-description.md, docs/feature-spec.md, /tmp/bug-report.txt
-
-s, --status
- New status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-p, --priority
- New priority - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
--type
- New ticket type -
Default:
-
-a, --assignee
- New assignee (use 'none' to clear) - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
--add-labels
- Labels to add (comma-separated) -
Default:
-
--remove-labels
- Labels to remove (comma-separated) -
Default:
-
-e, --epic
- New epic ID (use 'none' to clear) -
Default:
-
--parent
- New parent ID (use 'none' to clear) -
Default:
-
--sprint
- Sprint ID to assign ticket to (use 'current' for active sprint, 'none' to clear) -
Default:
-
-sp, --story-points
- New story points estimate (use 0 to clear) - Type: integer
-
Default:
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket ID -
Type: boolean
-
--strict
- Enforce strict assignee validation (no external assignees) -
Type: boolean
-
--stdin
- Read JSON array of ticket updates from stdin -
Type: boolean
-
--jsonl
- Read JSONL (JSON Lines) format for streaming large datasets -
Type: boolean
-
--dry-run
- Preview changes without saving them -
Type: boolean
-
-f, --force
- Legacy option (confirmation removed for AI-friendliness) -
Type: boolean
-
--cf
- Update custom field value in format 'name=value' (can be used multiple times) - Type: array
-
Default:
-
--remove-cf
- Remove custom field by name (can be used multiple times) - Type: array
- Default:
Examples:
gira ticket move
¶
Move ticket(s) to a different status/swimlane.
Arguments:
ticket_ids
- Ticket ID(s) to move (use '-' to read from stdin) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
target_status
- Target status to move ticket to (required) - Type: string
- Pattern:
^\d{4}-\d{2}-\d{2}$
- Examples: 2025-01-20, 2025-12-31
Options:
-p, --position
- Position in new column (1-based)- Type: integer
-
Default:
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket ID -
Type: boolean
-
--dry-run
- Preview the move without performing it -
Type: boolean
-
--git/--no-git
- Stage the move using 'git mv' - Type: boolean
-
Default:
-
-f, --force
- Skip confirmation prompt -
Type: boolean
-
--force-transition
- Skip workflow validation and force the transition -
Type: boolean
-
--confirm
- Force confirmation prompt even if configured to skip -
Type: boolean
-
-a, --assignee
- Filter by assignee (use 'me' for current user) - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
--from
- Only move tickets from this status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-e, --epic
- Filter tickets by epic ID - Default:
- Pattern:
^EPIC-\d{3}$
-
Examples: EPIC-001, EPIC-002
-
-s, --sprint
- Filter tickets by sprint ID (use 'current' for active sprint) - Default:
- Pattern:
^SPRINT-\d{3}$
-
Examples: SPRINT-001, SPRINT-002
-
-c, --comment
- Add comment to moved tickets -
Default:
-
--assign
- Assign tickets to user while moving -
Default:
-
--add-label
- Add label to moved tickets -
Default:
-
--priority
- Update priority while moving - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
--check-dependencies
- Check for blocking dependencies -
Type: boolean
-
-b, --batch
- Batch ID for undo operations -
Default:
-
--if-no-blockers
- Only move if ticket has no unresolved blocking dependencies -
Type: boolean
-
--if-complete
- Only move if ticket completion criteria are met -
Type: boolean
-
--if-allowed
- Only move if workflow transition is allowed - Type: boolean
Examples:
gira ticket tree
¶
Display parent ticket and all subtasks in a hierarchical tree view.
Arguments:
ticket_id
- Ticket ID to display tree for (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Examples:
gira ticket add-dep
¶
Add a dependency relationship between tickets.
Arguments:
ticket_id
- Ticket ID to add dependency to (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
dependency_id
- Ticket ID that this ticket depends on (blocks this ticket) (required) - Type: string
- Pattern:
^\d{4}-\d{2}-\d{2}$
- Examples: 2025-01-20, 2025-12-31
Options:
--no-reciprocal
- Don't add reciprocal relationship- Type: boolean
Examples:
gira ticket remove-dep
¶
Remove a dependency relationship between tickets.
Arguments:
ticket_id
- Ticket ID to remove dependency from (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
dependency_id
- Ticket ID to remove as dependency (required) - Type: string
- Pattern:
^\d{4}-\d{2}-\d{2}$
- Examples: 2025-01-20, 2025-12-31
Options:
--no-reciprocal
- Don't remove reciprocal relationship- Type: boolean
Examples:
gira ticket deps
¶
Show dependency relationships for a ticket.
Arguments:
ticket_id
- Ticket ID to show dependencies for (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-f, --format
- Output format: table, json- Choices: text, json, table, csv
- Default: table
- Examples: json, table
Examples:
gira ticket order
¶
Set the order of a ticket within its status column.
Arguments:
ticket_id
- Ticket ID to reorder (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
position
- New position (1-based) (optional) - Type: integer
Options:
--before
- Place before this ticket ID-
Default:
-
--after
- Place after this ticket ID - Default:
Examples:
gira ticket delete
¶
Delete or archive ticket(s).
Arguments:
ticket_ids
- Ticket ID(s) to delete (use '-' to read from stdin) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-f, --force
- Skip confirmation prompt-
Type: boolean
-
--confirm
- Force confirmation prompts even when skip is configured -
Type: boolean
-
-p, --permanent
- Permanently delete instead of archiving -
Type: boolean
-
-o, --output
- Output format (json) - Choices: text, json, table, csv
- Default:
-
Examples: json, table
-
-q, --quiet
- Only output ticket IDs -
Type: boolean
-
--git/--no-git
- Stage the archive/delete using 'git mv' or 'git rm' - Type: boolean
-
Default:
-
-s, --status
- Filter by status (e.g., done) - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
--older-than
- Filter tickets older than duration (e.g., '30 days', '2 weeks') -
Default:
-
-e, --epic
- Filter tickets by epic ID -
Default:
-
--dry-run
- Show what would be archived without doing it -
Type: boolean
-
-b, --batch
- Batch ID for undo operations - Default:
Examples:
gira ticket bulk-update
¶
Update multiple tickets with the same changes.
Arguments:
ticket_ids
- List of ticket IDs to update (optional if using stdin) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-t, --title
- New title (applied to all tickets)- Default:
- Min length: 3
-
Max length: 200
-
-d, --description
- New description (applied to all tickets) - Default:
-
Max length: 5000
-
-s, --status
- New status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-p, --priority
- New priority - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
--type
- New ticket type -
Default:
-
-a, --assignee
- New assignee (use 'none' to clear) - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
--add-labels
- Labels to add (comma-separated) -
Default:
-
--remove-labels
- Labels to remove (comma-separated) -
Default:
-
-e, --epic
- New epic ID (use 'none' to clear) -
Default:
-
--parent
- New parent ID (use 'none' to clear) -
Default:
-
-sp, --story-points
- New story points estimate (use 0 to clear) - Type: integer
-
Default:
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket IDs -
Type: boolean
-
--strict
- Enforce strict assignee validation (no external assignees) -
Type: boolean
-
--all-or-nothing
- Fail entire operation if any ticket update fails -
Type: boolean
-
--dry-run
- Preview changes without saving them -
Type: boolean
-
--stdin
- Read CSV format from stdin (first column must be ticket ID) -
Type: boolean
-
--csv-delimiter
- CSV delimiter character (default: comma) -
Default: ,
-
--skip-invalid
- Skip invalid rows and continue processing -
Type: boolean
-
--fail-on-error/--no-fail-on-error
- Exit with error if any update fails (default: true) - Type: boolean
-
Default: True
-
--transaction
- Execute all updates atomically with rollback on failure - Type: boolean
Examples:
gira ticket bulk-add-deps
¶
Add dependencies to multiple tickets at once.
Arguments:
ticket_ids
- Ticket IDs to add dependencies to (optional if using file input) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-d, --deps
- Comma-separated list of dependency IDs-
Default:
-
--from-csv
- CSV file with dependency mappings -
Default:
-
--from-json
- JSON file with dependency mappings -
Default:
-
--no-reciprocal
- Don't add reciprocal relationships -
Type: boolean
-
--dry-run
- Preview changes without applying them -
Type: boolean
-
--validate-only
- Only validate dependencies, don't apply - Type: boolean
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Suppress progress output -
Type: boolean
-
--transaction
- Execute all operations atomically with rollback on failure - Type: boolean
Examples:
gira ticket bulk-remove-deps
¶
Remove dependencies from multiple tickets at once.
Arguments:
ticket_ids
- Ticket IDs to remove dependencies from (optional if using file input) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-d, --deps
- Comma-separated list of dependency IDs to remove-
Default:
-
--from-csv
- CSV file with dependency mappings to remove -
Default:
-
--from-json
- JSON file with dependency mappings to remove -
Default:
-
--all
- Remove all dependencies from specified tickets -
Type: boolean
-
--no-reciprocal
- Don't remove reciprocal relationships -
Type: boolean
-
--dry-run
- Preview changes without applying them -
Type: boolean
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Suppress progress output -
Type: boolean
-
--transaction
- Execute all operations atomically with rollback on failure - Type: boolean
Examples:
gira ticket clear-deps
¶
Clear all dependencies from one or more tickets.
Arguments:
ticket_ids
- Ticket IDs to clear all dependencies from (required)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
--no-reciprocal
- Don't remove reciprocal relationships-
Type: boolean
-
-f, --force
- Skip confirmation prompt -
Type: boolean
-
--dry-run
- Preview changes without applying them -
Type: boolean
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Suppress progress output -
Type: boolean
-
--transaction
- Execute all operations atomically with rollback on failure - Type: boolean
Examples:
gira ticket commits
¶
List all commits associated with a ticket.
Arguments:
ticket_id
- Ticket ID to show commits for (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-n, --limit
- Maximum number of commits to show- Type: integer
-
Default:
-
-f, --format
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
--json
- Output as JSON (shorthand for --format json) -
Type: boolean
-
--color
- Enable syntax highlighting for JSON output (default: no color for AI compatibility) -
Type: boolean
-
--no-color
- Explicitly disable syntax highlighting (default is already no color) - Type: boolean
Examples:
gira ticket blame
¶
Discover tickets associated with specific file lines.
Arguments:
files
- File(s) to analyze for ticket references (required)- Type: array
- Examples: .gira/config.json, /path/to/file.txt, ./relative/path.md
Options:
-L, --lines
- Line range (e.g., '10,20' or '10,+5')-
Default:
-
-f, --format
- Output format: table, json, simple - Choices: text, json, table, csv
- Default: table
-
Examples: json, table
-
--ids-only
- Show only ticket IDs (implies simple format) -
Type: boolean
-
--json
- Output as JSON (shorthand for --format json) -
Type: boolean
-
-C, --context
- Show N lines of context around blamed lines - Type: integer
-
Default:
-
--history
- Show full history of tickets that touched specific lines (requires -L) -
Type: boolean
-
--no-cache
- Bypass cache and force fresh blame analysis -
Type: boolean
-
--color
- Enable syntax highlighting for JSON output (default: no color for AI compatibility) -
Type: boolean
-
--no-color
- Explicitly disable syntax highlighting (default is already no color) - Type: boolean
Examples:
gira ticket edit
¶
Edit a ticket (alias for update).
Arguments:
ticket_ids
- Ticket ID(s) to edit (supports patterns like 'GCM-1*', ranges like 'GCM-1..10', use '-' to read IDs from stdin, or omit for --stdin JSON) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-t, --title
- New title- Default:
- Min length: 3
-
Max length: 200
-
-d, --description
- New description (use '-' for stdin, 'editor' to open editor) - Default:
-
Max length: 5000
-
--description-file
- Read description from a file - Default:
-
Examples: ticket-description.md, docs/feature-spec.md, /tmp/bug-report.txt
-
-s, --status
- New status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-p, --priority
- New priority - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
--type
- New ticket type -
Default:
-
-a, --assignee
- New assignee (use 'none' to clear) - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
--add-labels
- Labels to add (comma-separated) -
Default:
-
--remove-labels
- Labels to remove (comma-separated) -
Default:
-
-e, --epic
- New epic ID (use 'none' to clear) -
Default:
-
--parent
- New parent ID (use 'none' to clear) -
Default:
-
--sprint
- Sprint ID to assign ticket to (use 'current' for active sprint, 'none' to clear) -
Default:
-
-sp, --story-points
- New story points estimate (use 0 to clear) - Type: integer
-
Default:
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket ID -
Type: boolean
-
--strict
- Enforce strict assignee validation (no external assignees) -
Type: boolean
-
--stdin
- Read JSON array of ticket updates from stdin -
Type: boolean
-
--jsonl
- Read JSONL (JSON Lines) format for streaming large datasets -
Type: boolean
-
--dry-run
- Preview changes without saving them -
Type: boolean
-
-f, --force
- Legacy option (confirmation removed for AI-friendliness) -
Type: boolean
-
--cf
- Update custom field value in format 'name=value' (can be used multiple times) - Type: array
-
Default:
-
--remove-cf
- Remove custom field by name (can be used multiple times) - Type: array
- Default:
Examples:
gira ticket mv
¶
Move ticket(s) to a different status (alias for move).
Arguments:
ticket_ids
- Ticket ID(s) to move (use '-' to read from stdin) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
target_status
- Target status to move ticket to (required) - Type: string
- Pattern:
^\d{4}-\d{2}-\d{2}$
- Examples: 2025-01-20, 2025-12-31
Options:
-p, --position
- Position in new column (1-based)- Type: integer
-
Default:
-
-o, --output
- Output format: text, json - Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket ID -
Type: boolean
-
--dry-run
- Preview the move without performing it -
Type: boolean
-
--git/--no-git
- Stage the move using 'git mv' - Type: boolean
-
Default:
-
-f, --force
- Skip confirmation prompt -
Type: boolean
-
--force-transition
- Skip workflow validation and force the transition -
Type: boolean
-
-a, --assignee
- Filter by assignee (use 'me' for current user) - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
--from
- Only move tickets from this status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-e, --epic
- Filter tickets by epic ID - Default:
- Pattern:
^EPIC-\d{3}$
-
Examples: EPIC-001, EPIC-002
-
-s, --sprint
- Filter tickets by sprint ID (use 'current' for active sprint) - Default:
- Pattern:
^SPRINT-\d{3}$
-
Examples: SPRINT-001, SPRINT-002
-
-c, --comment
- Add comment to moved tickets -
Default:
-
--assign
- Assign tickets to user while moving -
Default:
-
--add-label
- Add label to moved tickets -
Default:
-
--priority
- Update priority while moving - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
--check-dependencies
- Check for blocking dependencies -
Type: boolean
-
-b, --batch
- Batch ID for undo operations - Default:
Examples:
gira ticket ls
¶
List tickets (alias for list).
Options:
-q, --query
- Query expression (e.g., 'status:todo AND priority:high')- Default:
-
Examples: ..py$, ^test_., (bug|fix):
-
-s, --status
- Filter by status - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
-a, --assignee
- Filter by assignee - Default:
- Pattern:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
-
Examples: user@example.com, john.doe@company.org
-
-t, --type
- Filter by type -
Default:
-
-p, --priority
- Filter by priority - Choices: low, medium, high, critical
- Default:
-
Examples: medium, high
-
-l, --label
- Filter by label -
Default:
-
--parent
- Filter by parent ticket ID (show subtasks) -
Default:
-
--blocked
- Show only tickets blocked by unresolved dependencies -
Type: boolean
-
--story-points-eq
- Filter by exact story point value - Type: integer
-
Default:
-
--story-points-gt
- Filter by story points greater than value - Type: integer
-
Default:
-
--story-points-lt
- Filter by story points less than value - Type: integer
-
Default:
-
--created-after
- Filter tickets created after date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--created-before
- Filter tickets created before date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--updated-after
- Filter tickets updated after date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--updated-before
- Filter tickets updated before date (YYYY-MM-DD) - Default:
- Pattern:
^\d{4}-\d{2}-\d{2}$
-
Examples: 2025-01-20, 2025-12-31
-
--due-after
- Filter tickets due after date (YYYY-MM-DD) -
Default:
-
--due-before
- Filter tickets due before date (YYYY-MM-DD) -
Default:
-
--due-on
- Filter tickets due on specific date (YYYY-MM-DD) -
Default:
-
--overdue
- Show only tickets past their due date -
Type: boolean
-
--has-comments
- Show only tickets that have comments -
Type: boolean
-
--no-comments
- Show only tickets without comments -
Type: boolean
-
--has-parent
- Show only subtasks that have a parent ticket -
Type: boolean
-
--no-parent
- Show only tickets that are not subtasks -
Type: boolean
-
--in-sprint
- Filter tickets in a specific sprint -
Default:
-
--not-in-sprint
- Filter tickets not in a specific sprint -
Default:
-
--not-in-epic
- Filter tickets not linked to a specific epic -
Default:
-
--epic
- Filter tickets by epic ID (comma-separated for multiple epics) -
Default:
-
--no-epic
- Show only tickets without epic assignment (alias for --not-in-epic without value) -
Type: boolean
-
--search
- Search text in ticket fields (default: title and description) -
Default:
-
--search-in
- Specify fields to search: title, description, id, status, type, priority, assignee, reporter, labels, all (can be used multiple times) - Type: array
-
Default:
-
--exact-match
- Perform exact string match instead of fuzzy match -
Type: boolean
-
--regex-search
- Treat search pattern as a regular expression - Type: boolean
-
Examples: ..py$, ^test_., (bug|fix):
-
--case-sensitive-search
- Make search case-sensitive -
Type: boolean
-
--sort
- Sort by: id, priority, created, updated, title, order -
Default: id
-
-f, --format
- Output format - Type: enum
- Choices: TABLE, JSON, YAML, CSV, TSV, TEXT, IDS
- Default: table
-
Examples: json, table
-
--ids-only
- Show only ticket IDs -
Type: boolean
-
--counts
- Show summary counts -
Type: boolean
-
--include-archived
- Include archived tickets in results -
Type: boolean
-
--fields
- Comma-separated list of fields to include in JSON output (e.g., 'id,title,status' or use aliases like 'basics') -
Default:
-
--filter-json
- JSONPath expression to filter JSON output (e.g., '$[?(@.priority=="high")].id') -
Default:
-
--color
- Enable syntax highlighting for JSON output (default: no color for AI compatibility) -
Type: boolean
-
--no-color
- Explicitly disable syntax highlighting (default is already no color) - Type: boolean
Examples:
gira ticket rm
¶
Remove ticket(s) (alias for delete).
Arguments:
ticket_ids
- Ticket ID(s) to remove (use '-' to read from stdin) (optional)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-f, --force
- Skip confirmation prompt-
Type: boolean
-
-p, --permanent
- Permanently delete instead of archiving -
Type: boolean
-
-o, --output
- Output format (json) - Choices: text, json, table, csv
- Default:
-
Examples: json, table
-
-q, --quiet
- Only output ticket IDs -
Type: boolean
-
--git/--no-git
- Stage the archive/delete using 'git mv' or 'git rm' - Type: boolean
-
Default:
-
-s, --status
- Filter by status (e.g., done) - Choices: backlog, todo, in_progress, review, done
- Default:
-
Examples: backlog, todo, in_progress
-
--older-than
- Filter tickets older than duration (e.g., '30 days', '2 weeks') -
Default:
-
-e, --epic
- Filter tickets by epic ID -
Default:
-
--dry-run
- Show what would be archived without doing it -
Type: boolean
-
-b, --batch
- Batch ID for undo operations - Default:
Examples:
gira ticket ticket estimate set
¶
Set story points for one or more tickets.
Arguments:
story_points
- Story points to assign (0-100) (required)-
Type: integer
-
ticket_ids
- Ticket ID(s) to estimate (supports patterns) (required) - Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-o, --output
- Output format: text, json- Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
-q, --quiet
- Only output ticket IDs -
Type: boolean
-
--dry-run
- Preview changes without saving - Type: boolean
Examples:
gira ticket ticket estimate compare
¶
Compare two tickets side-by-side for relative estimation.
Arguments:
ticket_id_1
- First ticket ID (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
ticket_id_2
- Second ticket ID (required) - Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-o, --output
- Output format: text, json- Choices: text, json, table, csv
- Default: text
- Examples: json, table
Examples:
gira ticket ticket estimate relative
¶
Show base ticket details while estimating other tickets.
Arguments:
base_ticket_id
- Base ticket ID for comparison (required)- Type: string
- Pattern:
^[A-Z]{2,4}-\d+$
-
Examples: GIRA-123, GCM-456, PROJ-1
-
ticket_ids
- Ticket ID(s) to estimate relative to base (required) - Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-o, --output
- Output format: text, json- Choices: text, json, table, csv
- Default: text
- Examples: json, table
Examples:
gira ticket ticket estimate batch
¶
Interactive batch estimation of multiple tickets.
Arguments:
ticket_ids
- Ticket ID(s) to estimate interactively (required)- Type: array
- Pattern:
^[A-Z]{2,4}-\d+$
- Examples: GIRA-123, GCM-456, PROJ-1
Options:
-o, --output
- Output format: text, json- Choices: text, json, table, csv
- Default: text
-
Examples: json, table
-
--skip-estimated
- Skip tickets that already have story points - Type: boolean
Examples: