Skip to content

IFAKA/ticket-log

Repository files navigation

Ticket Log

A VS Code extension designed to streamline ticket logging, focusing on immediate action and effi### Known Issues

  • Large context fields with extensive formatting may impact performance
  • URL validation currently supports standard Jira patterns (will expand based on feedback)
  • Requires an active workspace folder to store logst information capture. Perfect for developers who need to maintain detailed logs of their work on Jira tickets and other project management systems. Each workspace maintains its own separate log storage for better project organization.

Features

🎯 Ticket Integration

  • Quick Ticket Addition: Input any Jira URL (e.g., https://iskaypet.atlassian.net/browse/CXO-1702) and automatically extract the ticket ID
  • Dedicated Containers: Each unique ticket ID gets its own container in the sidebar
  • Smart URL Parsing: Supports various Jira URL formats and automatically extracts ticket IDs

📝 Streamlined Log Entry

  • VS Code Native Forms: All forms follow VS Code's strict design guidelines for consistency
  • Required Fields Validation: Ensures critical information is always captured
    • Action Taken (Required): What you did (e.g., "Submitted PR #123 to #frontend-pr-reviews")
    • Who Contacted/Involved (Optional): Names, channels, team members
    • What was Requested/Outcome (Required): Concise summary of results
    • Link (Optional): Direct URLs to Slack threads, PRs, documentation
    • Context (Required): Rich text area for detailed notes, code snippets, media references
  • Creation Timestamps: Each log preserves and displays its creation date/time (shown on hover and in edit view)

🔧 Smart Form Behavior

  • Save Button Logic: Only enabled when required fields are filled and content has changed
  • Change Detection: Prevents accidental saves without modifications
  • Auto-placement: New logs default to the most recent ticket container
  • Context-aware: When adding from a specific ticket, logs are placed there automatically

📊 Log Management & Export

  • Chronological Display: Logs shown newest to oldest for each ticket
  • Export Options:
    • CSV Export: Clean, spreadsheet-ready format with all log data including timestamps
    • Copy as Table: Formatted markdown table with date/time columns
    • Creation History: All exports include creation timestamps for accurate record-keeping
  • Quick Access: "Go to Ticket" button opens original Jira URL in browser
  • Edit & Delete: Full CRUD operations with confirmation dialogs
  • Timestamp Preservation: Creation timestamps are preserved even when editing logs

Productivity Features

  • Keyboard Shortcuts:
    • Ctrl/Cmd + S to save forms
    • Escape to cancel
  • Tree View: Collapsible containers showing ticket IDs with log counts
  • Persistent Storage: All data saved automatically and restored between sessions
  • Focus Management: Smart focus handling for optimal workflow

Installation

  1. Clone this repository or download the source code
  2. Open in VS Code
  3. Run npm install to install dependencies
  4. Press F5 to launch Extension Development Host
  5. The "Ticket Logs" view will appear in the Explorer sidebar

Usage

Adding Your First Ticket

  1. Click the "+" button in the Ticket Logs view
  2. Paste your Jira ticket URL (e.g., https://company.atlassian.net/browse/PROJ-123)
  3. The extension automatically extracts the ticket ID and creates a container

Logging Your Work

  1. Click "Add New Log" from the ticket container or use the command palette
  2. Fill in the required fields:
    • Action Taken: Describe what you did
    • Outcome: What was the result
    • Context: Add detailed notes, code snippets, or references
  3. Optionally add:
    • Who Contacted: Team members or channels involved
    • Link: URLs to related resources
  4. Click Save (only enabled when form is valid and changed)

Managing Logs

  • View: Click any log entry to open it in edit mode
  • Edit: Modify existing logs with the same validation rules
  • Delete: Remove logs with confirmation prompts
  • Export: Right-click ticket containers for export options
  • Open Ticket: Quick access to original Jira ticket

Commands

Command Description
Ticket Log: Add Ticket Add a new ticket from URL
Ticket Log: Add New Log Create a new log entry
Ticket Log: Refresh Refresh the tree view

Requirements

  • VS Code version 1.100.0 or higher
  • No external dependencies required

Extension Settings

This extension does not contribute any VS Code settings. All configuration is handled through the intuitive UI.

Data Storage

  • Logs are stored per workspace using VS Code's workspace state
  • Each project maintains its own separate set of logs
  • Data persists across VS Code sessions
  • No external databases or cloud services required

Known Issues

  • Large context fields with extensive formatting may impact performance
  • URL validation currently supports standard Jira patterns (will expand based on feedback)

Release Notes

0.0.1 (Initial Release)

Initial release with core features:

  • Ticket management with auto-ID extraction
  • Rich log entry forms with validation
  • Export capabilities (CSV and table formats)
  • Full CRUD operations for logs
  • VS Code native styling and UX
  • Persistent data storage

Development

Building the Extension

npm install
npm run compile

Running Tests

npm test

Packaging

npm run package

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published