VS Code Jira Extension
A powerful VS Code extension that seamlessly integrates with Jira to fetch issues and generate implementation code using GitHub Copilot. Transform Jira tickets into working code with AI assistance.
✨ Features
- 🔐 Secure Authentication: Store Jira credentials securely using VS Code's secret storage
- 📋 Smart Issue Fetching: Retrieve Jira issue details including summary and rich descriptions
- 🤖 AI-Powered Code Generation: Generate TypeScript/JavaScript implementation code from Jira requirements
- 💬 Chat Integration: Use
@jira
in VS Code's chat interface for natural interactions
- 🛠️ Language Model Tool: Leverage
jira_generateCode
tool for automated code generation
- ⚡ Auto-Configuration: Intelligent prompting for missing configuration values
- 🔄 Credential Management: Easy reset and reconfiguration of Jira connections
🚀 Quick Start
- Install the extension (see Installation section below)
- Configure your Jira connection:
- Open Command Palette (
Ctrl+Shift+P
/ Cmd+Shift+P
)
- Run
VS Code Jira Extension: Configure Jira Connection
- Enter your Jira host URL (e.g.,
https://yourcompany.atlassian.net
)
- Provide your Jira email address
- Enter your Jira API token (securely stored)
- Start using the extension:
- Use
@jira
in VS Code chat
- Mention issue keys like
PROJ-123
in conversations
- Try:
@jira implement PROJ-456
💡 Usage
Chat Participant (@jira
)
Interact naturally with your Jira issues using VS Code's chat interface:
@jira PROJ-123 # Fetch issue details
@jira implement PROJ-456 # Generate code implementation
@jira code for TASK-789 # Create code from requirements
@jira help # Get usage instructions
Available Commands
Access these commands via Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
):
VS Code Jira Extension: Configure Jira Connection
- Set up your Jira credentials
VS Code Jira Extension: Start Extension
- Initialize and get usage info
VS Code Jira Extension: Reset Jira Credentials
- Clear stored credentials and reconfigure
The extension provides jira_generateCode
tool that can be used by GitHub Copilot and other AI assistants to automatically fetch Jira issues and generate corresponding implementation code.
⚙️ Configuration
The extension automatically handles configuration with smart prompting when credentials are missing.
Storage Details
- Host URL: Stored in VS Code workspace settings (
vscode-jira-extension.host
)
- Email: Stored in VS Code workspace settings (
vscode-jira-extension.email
)
- API Token: Stored securely in VS Code's encrypted secret storage (never in plain text)
Getting Your Jira API Token
- Visit Atlassian Account Settings
- Click "Create API token"
- Enter a descriptive label (e.g., "VS Code Extension")
- Copy the generated token immediately (you won't see it again)
- Use this token when configuring the extension
Supported Jira Instances
- Jira Cloud (recommended):
https://yourcompany.atlassian.net
- Jira Server/Data Center:
https://jira.yourcompany.com
(if API v3 is enabled)
📋 Requirements
- VS Code: Version 1.101.0 or higher
- GitHub Copilot: Required for AI code generation features
- Jira Access: Valid Jira Cloud instance or Jira Server with REST API v3
- Authentication: Valid Jira email and API token
- Network: HTTPS access to your Jira instance
📦 Installation
From VSIX Package
- Download the latest
.vsix
file from releases
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X
/ Cmd+Shift+X
)
- Click the "..." menu → "Install from VSIX..."
- Select the downloaded
.vsix
file
- Restart VS Code if prompted
Development Setup
# Clone the repository
git clone https://github.com/lcustodiostefanini/vscode-jira-extension.git
cd vscode-jira-extension
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch for changes during development
npm run watch
# Package the extension
npx @vscode/vsce package
# Install locally for testing
code --install-extension vscode-jira-extension-0.0.9.vsix
🔒 Security
- Encrypted Storage: API tokens are stored using VS Code's secure credential storage (encrypted)
- No Hardcoded Secrets: No credentials are embedded in the extension code
- User-Specific Configuration: Each user maintains their own private configuration
- Secure Communication: All Jira API calls use HTTPS
- Local Processing: Issue data is processed locally and not sent to external services (except GitHub Copilot for code generation)
🛠️ Troubleshooting
Connection Issues
- Verify your Jira URL format: Must be
https://yourcompany.atlassian.net
(with https://)
- Check API token validity:
- Ensure the token hasn't expired
- Verify it has the necessary permissions
- Test your credentials manually: Try accessing the Jira REST API directly
- Reset and reconfigure: Use
VS Code Jira Extension: Reset Jira Credentials
- Check network access: Ensure VS Code can reach your Jira instance
Chat Issues
- GitHub Copilot required: The chat participant requires GitHub Copilot to be enabled
- VS Code version: Ensure you're running VS Code 1.101.0 or higher
- Extension activation: Try running
VS Code Jira Extension: Start Extension
Common Error Messages
- "Configuration failed": Missing or invalid credentials - run the configure command
- "Jira API token is required": Your API token is missing or invalid
- "Please enter a valid HTTPS URL": Jira host must start with
https://
🚀 Examples
Fetch Issue Details
@jira PROJ-123
Output: Displays issue summary, description, and key details
Generate Implementation Code
@jira implement PROJ-456
@jira code for TASK-789
@jira implement FEAT-101 as a TypeScript class
Output: AI-generated code implementation based on issue requirements
@jira help
@jira what can you do?
Output: Usage instructions and available features
Real-World Example
User: @jira implement PROJ-123
Agent: ## Jira Issue: PROJ-123
**Summary:** Create user authentication service
**Description:** Implement a service to handle user login/logout with JWT tokens
## Generated Implementation:
// User Authentication Service implementation
class AuthService {
// ... generated code based on Jira requirements
}
📝 Release Notes
0.0.9 (Current)
- 🎯 Enhanced chat participant with intelligent issue detection
- 🔧 Improved configuration management with automatic prompting
- 🛡️ Secure credential storage using VS Code's secret storage
- 🤖 AI-powered code generation using GitHub Copilot
- 📋 Language model tool for automated workflows
- ⚡ Better error handling and user feedback
Previous Versions
- 0.0.1-0.0.8: Development iterations with core Jira integration features
🤝 Contributing
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
)
- Make your changes and test thoroughly
- Commit your changes (
git commit -m 'Add amazing feature'
)
- Push to the branch (
git push origin feature/amazing-feature
)
- Open a Pull Request
Development Guidelines
- Follow TypeScript best practices
- Add tests for new functionality
- Update documentation as needed
- Ensure all existing tests pass
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- Issues: Report bugs and request features on GitHub Issues
- Discussions: Join the conversation in GitHub Discussions
- Documentation: Check this README and inline code documentation
Made with ❤️ by Stefanini | Powered by jira.js and GitHub Copilot