Documentation
Jira Integration
Jetscale integrates with Jira to automatically create issues for cost optimization recommendations, enabling seamless tracking through your existing project management workflow.
Jetscale integrates with Jira to automatically create issues for cost optimization recommendations, enabling seamless tracking through your existing project management workflow.
Overview
The Jira integration allows Jetscale to:
- Create issues for each cost optimization recommendation
- Include detailed cost impact analysis in issue descriptions
- Link issues to generated Terraform code
- Track implementation status through Jira workflows
- Integrate with your existing sprint planning and ticketing processes
Prerequisites
Before connecting Jira, you'll need:
- Jira Account with project access
- Jira Project where issues will be created
- API Token for authentication
- Email Address associated with your Jira account
Supported Jira Versions
- Jira Cloud (recommended)
- Jira Data Center
- Jira Server (8.0+)
Setup Guide
Step 1: Create a Jira API Token
Image pending: Jira API Token Creation Screenshot placeholder: Jira API token generation page
- Navigate to Atlassian Account Settings
- Click Create API token
- Give your token a descriptive label (e.g., "Jetscale Integration")
- Click Create
- Important: Copy your token immediately - it won't be shown again
Security Note: API tokens have the same permissions as your Jira account. Jetscale only uses tokens to create and read issues.
Step 2: Connect Jira in Jetscale
Image pending: Jira Connection Screen Screenshot placeholder: Jetscale Jira integration page
- Navigate to Settings → Integrations in Jetscale
- Click Connect Jira
- Enter your configuration:
- Jira Server URL: Your Jira instance URL (e.g.,
https://your-company.atlassian.net) - Email: The email address associated with your Jira account
- API Token: The token you created in Step 1
- Jira Server URL: Your Jira instance URL (e.g.,
- Click Verify and Connect
Jetscale will verify your credentials and display available projects.
Step 3: Configure Project Settings
Image pending: Project Selection Screen Screenshot placeholder: Jira project configuration
- Select your default project for cost optimization issues
- Choose the issue type (typically "Task" or "Story")
- Set default priority (optional)
- Configure default labels (e.g., "jetscale", "cost-optimization")
- Click Save Settings
How It Works
Issue Creation
When you approve a cost optimization recommendation in Jetscale:
- Issue Created: A Jira issue is automatically created in your selected project
- Details Populated: Issue includes cost analysis, performance considerations, and implementation steps
- Linking: Issue includes links to the recommendation in Jetscale and related pull requests (if GitHub is connected)
- Labels: Automatically tagged with configured labels for easy filtering
Issue Structure
## Summary
RDS Instance Right-Sizing: production-db (db.r5.2xlarge → db.r5.xlarge)
## Description
### Cost Optimization Recommendation
**Resource**: RDS Instance `production-db`
**Recommendation**: Downsize from db.r5.2xlarge to db.r5.xlarge
### Cost Impact
| Metric | Value |
|--------|-------|
| Current Monthly Cost | $730.00 |
| Projected Monthly Cost | $365.00 |
| **Monthly Savings** | **$365.00 (50%)** |
| **Annual Savings** | **$4,380.00** |
### Performance Analysis
- Current CPU utilization: 15-25% average
- Current memory utilization: 30-40% average
- Recommended instance provides 2x current peak usage
- **Risk Level**: Low - No performance degradation expected
### Implementation
**Terraform Code**: [View Pull Request](#)
**Testing Checklist**:
- [ ] Apply changes in staging environment
- [ ] Monitor performance metrics for 48 hours
- [ ] Verify application response times
- [ ] Confirm CloudWatch alarms are configured
- [ ] Apply to production
### Resources
- [View in Jetscale](#)
- [Terraform PR](#)
- [AWS RDS Documentation](https://docs.aws.amazon.com/rds/)
---
Generated by [Jetscale](https://jetscale.ai)
Issue Fields
Jetscale populates the following Jira fields:
| Field | Description | Example |
|---|---|---|
| Project | Selected project key | DEVOPS |
| Issue Type | Configured issue type | Task, Story |
| Summary | Brief optimization description | RDS Right-Sizing: production-db |
| Description | Detailed cost analysis | Full markdown content |
| Priority | Configured priority level | Medium, High |
| Labels | Tags for filtering | jetscale, cost-optimization, rds |
| Assignee | Optional assignee | Optional |
Configuration Options
Default Settings
Configure default values for automatically created issues:
- Project: Which project receives optimization issues
- Issue Type: Task, Story, Bug, etc.
- Priority: Low, Medium, High, etc.
- Labels: Comma-separated list of labels
- Assignee: Default assignee (optional)
Per-Recommendation Override
When creating an issue from Jetscale, you can override defaults:
- Click Create Jira Issue on a recommendation
- Modify any field:
- Change project
- Adjust priority
- Add custom labels
- Assign to specific team member
- Click Create Issue
Managing the Integration
View Integration Status
From Settings → Integrations → Jira, you can view:
- Connected Jira instance URL
- Connected email address
- Default project and issue settings
- Recent issues created by Jetscale
- Last connection verification time
Test Connection
To verify your Jira connection is working:
- Navigate to Settings → Integrations → Jira
- Click Test Connection
- Jetscale will attempt to fetch projects and verify API access
Update Credentials
If your API token changes or expires:
- Generate a new API token in Jira
- Navigate to Settings → Integrations → Jira
- Click Update Credentials
- Enter your new API token
- Click Save
Disconnect Jira
To remove the Jira integration:
- Navigate to Settings → Integrations → Jira
- Click Disconnect
- Confirm disconnection
Important: Disconnecting will:
- Remove your stored API token from Jetscale
- Stop automatic issue creation for new recommendations
- Preserve existing Jira issues (they remain in your Jira project)
Issue Management
Tracking Implementation Status
Once issues are created in Jira:
- Workflow Integration: Move issues through your standard workflow (To Do → In Progress → Done)
- Sprint Planning: Add issues to sprints for scheduling
- Team Assignment: Assign to appropriate team members
- Status Sync: Jetscale reads issue status to track implementation progress
Linking to Recommendations
Each Jira issue includes:
- Direct link back to the Jetscale recommendation
- Link to associated GitHub pull request (if available)
- Link to AWS/Azure resource in console
Filtering Jetscale Issues
Use JQL queries to filter cost optimization issues:
# All Jetscale issues
labels = jetscale
# Open cost optimization issues
labels = jetscale AND status != Done
# High-priority optimizations
labels = jetscale AND priority = High
# RDS-specific optimizations
labels in (jetscale, rds)
Troubleshooting
Connection Failed
Problem: "Unable to connect to Jira" error
Solutions:
- Verify your Jira Server URL is correct (include
https://) - Check your email matches your Jira account email
- Ensure API token is valid and not expired
- Confirm you have access to at least one Jira project
- Check if your organization requires IP whitelisting
Project Not Found
Problem: "Selected project not found" error
Solutions:
- Verify the project exists and hasn't been archived
- Confirm you have permission to create issues in the project
- Check project key is correct (case-sensitive)
- Ensure project hasn't been moved to a different workspace
Issue Creation Failed
Problem: Jira issue wasn't created for recommendation
Solutions:
- Check API token hasn't expired
- Verify you still have permissions in the project
- Confirm issue type exists in the project
- Check required custom fields aren't blocking creation
- Review Jira's rate limits
Missing Custom Fields
Problem: Jira requires custom fields that aren't populated
Solutions:
- Configure custom field defaults in your Jira project settings
- Use Jira automation rules to populate required fields
- Contact your Jira administrator to make fields optional
- Create a dedicated project for Jetscale with minimal required fields
Best Practices
API Token Management
- Create a dedicated token for Jetscale
- Set token expiration according to your security policy
- Rotate tokens regularly (every 90-180 days)
- Revoke unused tokens immediately
Project Organization
- Create a dedicated project for cost optimizations (e.g., "Cloud Cost Optimization")
- Use components to categorize by service type (RDS, EC2, EBS)
- Configure custom workflows for optimization approval process
- Set up automation to notify relevant teams
Issue Management
- Use labels consistently for easy filtering
- Create dashboards to track cost savings
- Link to parent epics for quarterly cost reduction initiatives
- Add time tracking to measure implementation effort
Integration with CI/CD
- Link Issues to PRs: Connect Jira issues to GitHub PRs using issue keys in commit messages
- Automation Rules: Transition issues automatically when PRs are merged
- Status Updates: Use Jira automation to notify teams when issues are ready for implementation
Advanced Configuration
Custom Issue Templates
Configure Jira issue templates for different resource types:
- RDS Optimizations: Include database-specific checklist
- EC2 Right-Sizing: Add compute validation steps
- EBS Volume Changes: Include backup verification
- ElastiCache Changes: Add cache warmup procedures
Jira Automation Rules
Create automation rules in Jira:
WHEN: Issue created with label "jetscale"
THEN:
- Add to "Cost Optimization" epic
- Assign to CloudOps team
- Set sprint to next available sprint
- Notify #cloud-cost Slack channel
JQL Saved Filters
Create saved filters for common queries:
High-Value Optimizations:
project = DEVOPS AND labels = jetscale AND description ~ "savings > 1000"
Quick Wins:
project = DEVOPS AND labels = jetscale AND priority = High AND description ~ "Risk Level: Low"
Security Considerations
API Token Security
- Jetscale encrypts API tokens at rest using AES-256
- Tokens are never logged or exposed in API responses
- All API calls to Jira use HTTPS with TLS 1.2+
- Tokens are stored separately from user data with restricted access
Permissions
Jetscale requires the following Jira permissions:
- Browse Projects: View project details
- Create Issues: Create new issues
- View Issues: Read issue details
- Edit Issues: Update issue status (optional)
Jetscale cannot:
- Delete issues
- Modify project settings
- Access other projects without permission
- Export sensitive data
Audit Trail
Every action taken by Jetscale is recorded:
- All Jira API calls are logged
- Issue creation is tracked per recommendation
- Failed attempts are captured with error details
- Audit logs are available in your Jetscale dashboard
API Reference
For programmatic access to the Jira integration, see our API Documentation.
Key endpoints:
POST /api/v2/integrations/jira/me/action/connect- Connect Jira accountGET /api/v2/integrations/jira/projects- List accessible projectsPOST /api/v2/integrations/jira/issues/action/create- Create issueGET /api/v2/integrations/jira/issues/types- Get issue typesGET /api/v2/integrations/jira/issues/priorities- Get priorities
Support
Need help with Jira integration?
- Email: support@jetscale.ai
- Documentation: FAQ
- GitHub Issues: Report a problem
GitHub Integration
Jetscale integrates with GitHub to automatically create pull requests containing production-ready Terraform code for your cost optimization recommendations.
Slack Integration
Jetscale integrates with Slack to deliver real-time cost optimization notifications directly to your team channels, keeping everyone informed about new recommendations,...
