Skip to content

Documentation

Jira Integration

Jetscale integrates with Jira to automatically create issues for cost optimization recommendations, enabling seamless tracking through your existing project management workflow.

Imported documentation under review
This page preserves content from the previous documentation site for migration review. Product details and public claims have not yet been revalidated.

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:

  1. Jira Account with project access
  2. Jira Project where issues will be created
  3. API Token for authentication
  4. 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

  1. Navigate to Atlassian Account Settings
  2. Click Create API token
  3. Give your token a descriptive label (e.g., "Jetscale Integration")
  4. Click Create
  5. 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

  1. Navigate to SettingsIntegrations in Jetscale
  2. Click Connect Jira
  3. 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
  4. 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

  1. Select your default project for cost optimization issues
  2. Choose the issue type (typically "Task" or "Story")
  3. Set default priority (optional)
  4. Configure default labels (e.g., "jetscale", "cost-optimization")
  5. Click Save Settings

How It Works

Issue Creation

When you approve a cost optimization recommendation in Jetscale:

  1. Issue Created: A Jira issue is automatically created in your selected project
  2. Details Populated: Issue includes cost analysis, performance considerations, and implementation steps
  3. Linking: Issue includes links to the recommendation in Jetscale and related pull requests (if GitHub is connected)
  4. 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:

FieldDescriptionExample
ProjectSelected project keyDEVOPS
Issue TypeConfigured issue typeTask, Story
SummaryBrief optimization descriptionRDS Right-Sizing: production-db
DescriptionDetailed cost analysisFull markdown content
PriorityConfigured priority levelMedium, High
LabelsTags for filteringjetscale, cost-optimization, rds
AssigneeOptional assigneeOptional

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:

  1. Click Create Jira Issue on a recommendation
  2. Modify any field:
    • Change project
    • Adjust priority
    • Add custom labels
    • Assign to specific team member
  3. Click Create Issue

Managing the Integration

View Integration Status

From SettingsIntegrationsJira, 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:

  1. Navigate to SettingsIntegrationsJira
  2. Click Test Connection
  3. Jetscale will attempt to fetch projects and verify API access

Update Credentials

If your API token changes or expires:

  1. Generate a new API token in Jira
  2. Navigate to SettingsIntegrationsJira
  3. Click Update Credentials
  4. Enter your new API token
  5. Click Save

Disconnect Jira

To remove the Jira integration:

  1. Navigate to SettingsIntegrationsJira
  2. Click Disconnect
  3. 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:

  1. Workflow Integration: Move issues through your standard workflow (To Do → In Progress → Done)
  2. Sprint Planning: Add issues to sprints for scheduling
  3. Team Assignment: Assign to appropriate team members
  4. 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

  1. Link Issues to PRs: Connect Jira issues to GitHub PRs using issue keys in commit messages
  2. Automation Rules: Transition issues automatically when PRs are merged
  3. 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 account
  • GET /api/v2/integrations/jira/projects - List accessible projects
  • POST /api/v2/integrations/jira/issues/action/create - Create issue
  • GET /api/v2/integrations/jira/issues/types - Get issue types
  • GET /api/v2/integrations/jira/issues/priorities - Get priorities

Support

Need help with Jira integration?