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: