YouTrack Issue Tracker
by @iahmadzain
Manage YouTrack issues, projects, and workflows via CLI. Use when creating, updating, searching, or commenting on YouTrack issues, listing projects, checking issue states, or automating issue workflows.
clawhub install youtrackπ About This Skill
name: youtrack description: Manage YouTrack issues, projects, and workflows via CLI. Use when creating, updating, searching, or commenting on YouTrack issues, listing projects, checking issue states, or automating issue workflows. metadata: {"clawdbot":{"emoji":"π«","requires":{"bins":["jq","curl"]}}}
YouTrack CLI
Use ytctl (in scripts/) for YouTrack issue tracking.
Setup
Credentials stored in ~/.config/youtrack/config.json:
{
"url": "https://your-instance.youtrack.cloud",
"token": "perm:xxx"
}
Or set env vars: YOUTRACK_URL, YOUTRACK_TOKEN
Generate token: YouTrack β Profile β Account Security β New Token
Commands
# List projects
ytctl projectsList issues (with optional filters)
ytctl issues # all issues
ytctl issues SP # issues in project SP
ytctl issues SP --query "state: Open" # filtered
ytctl issues --max 50 # limit resultsGet issue details
ytctl issue SP-123Create issue
ytctl create SP "Bug: Login fails"
ytctl create SP "Feature request" "Detailed description here"Update issue
ytctl update SP-123 state "In Progress"
ytctl update SP-123 assignee john.doe
ytctl update SP-123 priority CriticalAdd comment
ytctl comment SP-123 "Investigating this now"Search with YouTrack query syntax
ytctl search "project: SP state: Open assignee: me"
ytctl search "created: today"
ytctl search "#unresolved sort by: priority"List workflow states for project
ytctl states SPList users
ytctl users
ytctl users --query "john"
Query Syntax
YouTrack query examples:
state: Open β by stateassignee: me β assigned to current usercreated: today β created todayupdated: {last week} β updated in last week#unresolved β all unresolvedhas: attachments β with attachmentssort by: priority desc β sortedCombine: project: SP state: Open assignee: me sort by: updated
Output
Default: table format. Add --json for raw JSON output:
ytctl issues SP --json
ytctl issue SP-123 # always JSON for single issue
Bulk Operations
# Update all matching issues (with dry-run preview)
ytctl bulk-update "project: SP state: Open" state "In Progress" --dry-run
ytctl bulk-update "project: SP state: Open" state "In Progress"Comment on all matching issues
ytctl bulk-comment "project: SP state: Open" "Batch update notice"Assign all matching issues
ytctl bulk-assign "project: SP #unresolved" john.doe --dry-run
Reports
# Project summary (default 7 days)
ytctl report SP
ytctl report SP --days 14User activity report
ytctl report-user zain
ytctl report-user zain --days 30State distribution with bar chart
ytctl report-states SP
Notes
ytctl states PROJECT to see valid state names--dry-run to preview before executingβοΈ Configuration
Credentials stored in ~/.config/youtrack/config.json:
{
"url": "https://your-instance.youtrack.cloud",
"token": "perm:xxx"
}
Or set env vars: YOUTRACK_URL, YOUTRACK_TOKEN
Generate token: YouTrack β Profile β Account Security β New Token
π Tips & Best Practices
ytctl states PROJECT to see valid state names--dry-run to preview before executing