tkt is a command-line tool that allows you to pull JIRA tickets, edit them locally as Markdown, and push changes back. Work with JIRA tickets using your favorite text editor and tools!
- 📝 Local Editing: Edit JIRA tickets as plain Markdown files with YAML frontmatter
- 🔄 Bidirectional Sync: Fetch tickets from JIRA and push changes back
- 🔍 Full-text Search: Search through ticket content using grep-like functionality
- 📊 SQL Queries: Query ticket metadata using SQL syntax
- 🎯 Diff Support: View differences between local and remote versions
The core workflow is simple:
- pull - Download JIRA tickets as Markdown files
- edit - Modify tickets locally using any text editor
- push - Sync changes back to JIRA
go install github.com/qawatake/tkt/cmd/tkt@latestFirst, create a JIRA API token at https://id.atlassian.com/manage-profile/security/api-tokens and set it as an environment variable:
export JIRA_API_TOKEN=your_token_heretkt initThis creates a tkt.yml configuration file in your current directory with your JIRA server details and authentication.
tkt pullDownloads JIRA tickets as Markdown files to ./tmp/ (configurable).
Open and edit the Markdown files in your preferred editor. Each ticket includes:
---
key: PRJ-123
status: In Progress
assignee: qawatake@example.com
summary: Fix authentication bug
---
# PRJ-123: Fix authentication bug
## Description
The authentication system has a bug that prevents users from logging in...
## Acceptance Criteria
- [ ] Users can log in successfully
- [ ] Error messages are cleartkt pushSyncs your local changes back to JIRA.
Query ticket metadata interactively using SQL syntax (requires DuckDB to be installed):
tkt querySearch through ticket content interactively:
tkt grepView differences between local and remote versions (similar to git diff):
tkt difftkt init- Initialize configuration in current directorytkt fetch- Download JIRA tickets as Markdown filestkt pull- Download JIRA tickets as Markdown files (fetch + merge)tkt push- Upload local changes to JIRAtkt diff- Show differences between local and remote (like git diff)tkt merge- Merge remote changes with local editstkt query- Interactive SQL queries for ticket metadata (requires DuckDB)tkt grep- Interactive full-text search through ticket content