Jira Time Tracker
Automatic and manual time tracking extension for VS Code / Cursor that logs worklogs directly to Jira Cloud.
Features
- Auto-Tracking - Automatically detects coding activity (keystrokes, file saves, editor focus) and tracks active time
- Idle Detection - Pauses the timer when you're inactive (configurable timeout, default 2 minutes)
- Manual Timer - Start/stop a timer manually when you prefer full control
- Jira Issue Detection - Auto-detects the Jira issue key from your git branch name (e.g.,
feature/PROJ-123-login)
- Issue Picker - Search and select Jira issues with a QuickPick UI
- Automatic Logging - Logs accumulated time to Jira Cloud at configurable intervals (15/30/60 min)
- Work Hours Reminder - Notifies you if the tracker isn't running during work hours
- Secure Token Storage - API token stored via VS Code SecretStorage (not in plain-text settings)
- Retry on Failure - Failed worklogs are queued and retried automatically
Quick Start
- Install the extension
- Open Settings and search for
jiraTracker
- Set your Jira Base URL (e.g.,
https://yourcompany.atlassian.net)
- Set your Email
- Run
Jira Tracker: Set API Token from the Command Palette (Cmd+Shift+P) and paste your Jira API token
- Start coding! The extension auto-tracks and logs time to Jira.
Commands
| Command |
Description |
Jira Tracker: Start Timer |
Start manual timer |
Jira Tracker: Stop Timer |
Stop timer (prompts to log remaining time) |
Jira Tracker: Select Jira Issue |
Search and pick a Jira issue |
Jira Tracker: Log Time Now |
Immediately log accumulated time |
Jira Tracker: Show Tracking Status |
Display current tracking info |
Jira Tracker: Pause Auto-Tracking |
Pause automatic tracking |
Jira Tracker: Resume Auto-Tracking |
Resume automatic tracking |
Jira Tracker: Set API Token |
Securely store your Jira API token |
Settings
| Setting |
Default |
Description |
jiraBaseUrl |
"" |
Jira Cloud URL |
email |
"" |
Jira account email |
logIntervalMinutes |
15 |
Auto-log interval (15/30/60 min) |
idleTimeoutSeconds |
120 |
Seconds of inactivity before idle |
autoTrackingEnabled |
true |
Enable activity-based auto-tracking |
autoDetectBranch |
true |
Parse Jira issue key from branch name |
issueKeyPattern |
[A-Z][A-Z0-9]+-\d+ |
Regex for branch parsing |
minimumLogSeconds |
60 |
Min seconds before logging (Jira requires >= 60) |
workHoursReminderEnabled |
true |
Remind if tracker is off during work hours |
workHoursStart |
10:00 |
Work hours start (24h format) |
workHoursEnd |
18:00 |
Work hours end (24h format) |
reminderIntervalMinutes |
30 |
Reminder check frequency (15/30/60 min) |
Status Bar
The extension adds two items to the status bar:
- Timer (
clock icon + elapsed time) - Click to see tracking status
- Issue (
bookmark icon + PROJ-123) - Click to change the active issue
How It Works
- The extension monitors your editor activity (typing, saving, switching files)
- When you're active, the timer ticks. When idle for 2+ minutes, it pauses automatically.
- Every 15 minutes (configurable), accumulated active time is posted as a worklog to the selected Jira issue.
- If the Jira API call fails, time is queued and retried on the next interval - no time is ever lost.
- When you switch git branches, the extension detects the new issue and logs remaining time to the previous one.
License
MIT
| |