Track and visualize your progress on Jira issues
Track the duration of your work on Jira issues with real-time browser trackers.
Start a tracker and assign it to a Jira issue, or use it for work outside of Jira:
- Add new trackers and pause or stop them as required
- Use as many trackers as you like when working on multiple issues at once
- Visualize all active trackers across your browser tabs
- Locate trackers easily from the bottom-right of your browser
Time Tracker for Firefox is free and available for all Tempo customers on Jira Cloud.
- ⏱️ Real-time Trackers - Track time with a floating overlay on every webpage
- 🔍 Issue Search - Find Jira issues by key (e.g., "ABC-123"), URL, or text search
- 🧠 Auto-Detect on Jira - Automatically pre-fills the issue when started on a Jira issue page
- 📊 Multiple Timers - Run as many trackers as you need for parallel tasks
- 🔄 Cross-Tab Sync - Trackers stay synchronized across all browser tabs
- 💾 Persistent Timers - Timers continue running even after closing Firefox
- 🎯 Minimal Interface - Collapses to a small button when not in use
- 🔐 Secure OAuth 2.0 - Sign in safely with your Atlassian account
- 📖 Open Source - Full transparency - audit the code yourself
- Visit the Tempo Time Tracker on Firefox Add-ons
- Click "Add to Firefox"
- Click the extension icon and sign in with your Atlassian account
- Start tracking your time!
-
Clone this repository:
git clone https://github.com/claudio-ferraro/tempo-time-tracker-for-firefox.git cd tempo-time-tracker-for-firefox -
Open Firefox and navigate to
about:debugging -
Click "This Firefox" → "Load Temporary Add-on"
-
Select the
manifest.jsonfile from the project folder
- Sign In - Click the extension icon in your toolbar and sign in with your Atlassian account
- Start Tracking - Click "Start Tracking" on the floating overlay (bottom-right)
- Select Issue - Click the issue field and search for your Jira issue
- Track Time - Use play/pause to control your tracker
- Log Work - Go to the Log Time form on Tempo Timesheets to log your tracked time
- Collapse the tracker by clicking the minimize button (arrow icon)
- Search by URL - Paste a Jira issue URL to quickly select it
- Multiple trackers - Click the + button to add more trackers for parallel tasks
- Continue later - Your timer persists even if you close the browser
- Add descriptions - Click on a tracker to expand it and add notes
- Node.js 18+
- Yarn or npm
- Firefox Developer Edition (recommended)
# Clone the repository
git clone https://github.com/claudio-ferraro/tempo-time-tracker-for-firefox.git
cd tempo-time-tracker-for-firefox
# Install dependencies
yarn install
# Run with auto-reload (opens Firefox with extension loaded)
npx web-ext run --verbose
# Build for production
npx web-ext build --overwrite-desttempo-time-tracker-for-firefox/
├── assets/ # Extension icons (16, 48, 128px)
├── docs/ # GitHub Pages (landing page + OAuth callback)
│ ├── index.html # Landing page
│ └── callback/ # OAuth redirect handler
├── src/
│ ├── background.js # Service worker: OAuth, token management, tracker engine
│ ├── overlay.js # Content script: floating tracker UI
│ ├── popup.html # Extension popup HTML
│ ├── popup.js # Extension popup logic
│ └── popup.css # Extension popup styles
├── worker/ # Cloudflare Worker (OAuth proxy)
│ └── src/index.js # Secure token exchange
├── manifest.json # Extension manifest
└── package.json
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Firefox │ │ Cloudflare │ │ Atlassian │
│ Extension │────▶│ Worker │────▶│ OAuth + API │
│ (background.js)│ │ (token proxy) │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
│ Messages
▼
┌─────────────────┐
│ Content Script │
│ (overlay.js) │
│ Floating UI │
└─────────────────┘
This extension is designed with privacy and security as top priorities:
| Aspect | Implementation |
|---|---|
| Authentication | OAuth 2.0 with PKCE (Proof Key for Code Exchange) |
| Token Storage | Browser's secure local storage only |
| Data Transmission | Direct to Atlassian/Tempo APIs - no third-party servers store your data |
| Token Refresh | Handled securely via Cloudflare Worker (client_secret never exposed) |
| Source Code | Fully open source - verify everything yourself |
- OAuth tokens (access + refresh) - stored locally in your browser
- Your Atlassian Cloud ID - needed for API calls
- Active tracker states - so your timers persist
- No analytics or tracking
- No personal information
- No browsing history
- No data sent to third parties
"Sign in failed"
- Make sure you have a Tempo Timesheets subscription linked to your Atlassian account
- Try signing out and signing in again
Tracker not appearing
- Refresh the page
- Check if the extension is enabled in
about:addons
Issue search not working
- Verify you have access to the Jira project
- Check your internet connection
- Try signing out and signing in again
Found a bug? Please open an issue with:
- Firefox version
- Extension version
- Steps to reproduce
- Expected vs actual behavior
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with help from GitHub Copilot (LLM) to accelerate scaffolding, refactors, and documentation.
- All changes are carefully reviewed and tested by humans before release.
- Tempo for their excellent time tracking platform
- Atlassian for Jira and the OAuth APIs
- The Firefox Add-ons team for their review process
Made with ❤️ for the Firefox community