Skip to content

Conversation

@depak7
Copy link
Contributor

@depak7 depak7 commented Dec 15, 2025

Summary

Implement a robust Jira Cloud v3 integration across bubble-core, API, and Studio:
New Jira service bubble with full CRUD/transition/comment/labels/link support.
Jira credentials wired end-to-end with a simple value format.
Test flow and unit tests to validate main behaviors.

Related Issues

#181

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactor
  • Other (please describe):

Checklist

  • My code follows the code style of this project
  • I have added appropriate tests for my changes
  • I have run pnpm check and all tests pass
  • I have tested my changes locally
  • I have linked relevant issues
  • I have added screenshots for UI changes (if applicable)

Screenshots (if applicable)

Screenshot from 2025-12-15 23-36-45 Screenshot from 2025-12-16 02-15-31

Additional Context

Operations implemented
create_issue, update_issue.
transition_issue, list_transitions.
add_comment.
assign_issue with correct unassign semantics:
update_labels (replaces labels).
link_issues via /issueLink.
get_issue with optional fields.
list_projects with optional expand.
list_issue_types:
If projectKey: GET /project/{key} and parse project.issueTypes.
Else: GET /issuetype.

@bubblelab-pearl
Copy link
Contributor

Suggested PR title from Pearl

Title: feat(integrations): add Jira integration with comprehensive issue management

Body:

Overview

Adds full Jira API integration for issue and project management, supporting 11 operations for automated workflow management.

Features

Jira Operations

  • Issue Management: Create, update, get, and transition issues
  • Collaboration: Add comments, assign/unassign issues, update labels
  • Organization: List projects, issue types, and available transitions
  • Linking: Create relationships between issues (blocks, relates, duplicates, clones)
  • Custom Fields: Full support for Jira custom fields

Credential Management

  • Custom UI with three-field credential form (email, domain, API token)
  • Auto-suggestion of Atlassian domain from email address
  • Basic authentication with secure credential storage
  • Support for both Jira Cloud and Jira Server

Implementation Details

  • Comprehensive Zod schema validation for all operations
  • Atlassian Document Format (ADF) support for descriptions and comments
  • Proper error handling with detailed error messages
  • Credential validation via /myself endpoint
  • Unit tests for result schema validation and usage examples

Files Changed

New Files:

  • packages/bubble-core/src/bubbles/service-bubble/jira.ts - Main bubble implementation (1301 lines)
  • packages/bubble-core/src/bubbles/service-bubble/jira.test.ts - Test coverage
  • apps/bubble-studio/public/integrations/jira.svg - Jira logo

Modified Files:

  • apps/bubble-studio/src/lib/integrations.ts - Added Jira to integrations catalog
  • apps/bubble-studio/src/pages/CredentialsPage.tsx - Custom credential UI
  • packages/bubble-shared-schemas/src/types.ts - Added JIRA_CRED credential type
  • packages/bubble-core/src/bubble-factory.ts - Registered JiraBubble
  • Additional schema and validation updates

Usage Example

typescript
const jira = new JiraBubble({
operation: 'create_issue',
projectKey: 'PROJ',
summary: 'Bug in login flow',
description: 'Users cannot login with SSO',
issueType: 'Bug',
priority: 'High',
labels: ['authentication', 'urgent']
});

const result = await jira.action();
// Returns: { "operation": 'create_issue', "issueKey": 'PROJ-123', "issueId": '10001', "success": true }

@zhubzy
Copy link
Contributor

zhubzy commented Dec 16, 2025

@depak7 Hey thanks for this! Before merging in more intergrations I want to clean up the system and have a better way to support for mulitple credential fields for each type, so all of the frontend code shouldn't be nessary per integration, will keep everyone updated on discord

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants