Skip to content

Add Jira Webhook integration #135

@kleneway

Description

@kleneway

Summary:

Description

Implement a feature in Jacob that integrates with Jira by setting up a webhook to listen for new Jira issues. When a new Jira issue is created, Jacob will automatically generate a corresponding to-do, mirroring the existing functionality for GitHub issues. This integration aims to streamline task management and ensure consistency across both platforms.

Features

  • Webhook Integration: Establish a webhook to monitor and receive notifications for new Jira issues using the existing JIRA_API_KEY from process.env.
  • Settings Page Enhancement: Add a new section in the dashboard settings (settings.tsx) that allows users to log in with their Jira accounts.
  • Authentication Handling: Securely store the user's Jira token in the user table after authentication.
  • Automated To-Do Creation: Utilize the stored Jira token to listen for new Jira issues and create corresponding to-dos in Jacob, following the same workflow used for GitHub issues.

Implementation Details

  1. Webhook Setup

    • Configure Jira to send webhook events for new issue creations to Jacob.
    • Ensure the webhook utilizes the JIRA_API_KEY securely stored in process.env.
  2. Update Settings Page (settings.tsx)

    • Introduce a "Log in with Jira" option in the settings section.
    • Implement OAuth or token-based authentication to connect Jira accounts.
    • Store the retrieved Jira token securely in the user table.
  3. Database Schema Modification

    • Add a new field to the user table to store the Jira token.
    • Ensure that the token is encrypted and handled securely to protect user data.
  4. To-Do Workflow Integration

    • Develop the logic to process incoming Jira webhook events.
    • Automatically generate a to-do in Jacob upon receiving a new Jira issue notification.
    • Incorporate necessary steps such as research and planning, consistent with the GitHub issue workflow.

Expected Behavior

  • User Authentication: Users can connect their Jira accounts through the Jacob settings page.
  • Automated Task Creation: New Jira issues will automatically result in the creation of corresponding to-dos within Jacob.
  • Consistent Workflow: The process mirrors the existing GitHub integration, providing a unified experience for managing tasks from both platforms.

Benefits

  • Increased Efficiency: Automates the synchronization of tasks between Jira and Jacob, reducing manual effort.
  • Unified Task Management: Allows users to manage tasks from both GitHub and Jira within a single platform.
  • Improved Consistency: Ensures that workflow processes are standardized across different issue tracking systems.

Environment and Configuration

  • Environment Variables: Ensure that JIRA_API_KEY is correctly set in the environment.
  • Security Measures: Store Jira tokens securely in the database and implement best practices for handling sensitive information.

Additional Notes

  • Error Handling: Implement robust error handling for webhook failures and authentication issues to ensure reliability.

Be sure to research the jira-client package here: https://github.com/jira-node/node-jira-client but ideally use an oauth token instead of username/password. Use this URL to install your 3LO app: https://auth.atlassian.com/authorize?audience=api.atlassian.com&client_id=z9MOoQe9g8QmMCGACf8fMOKnIQAMdoGb&scope=read%3Ame&redirect_uri=https%3A%2F%2Fapp.jacb.ai%2Fapi%2Fjira%2Fcallback&state=${YOUR_USER_BOUND_VALUE}&response_type=code&prompt=consent and the callback url should be https://app.jacb.ai/api/jira/callback

@jacob-ai-bot --skip-build
@jacob-ai-bot --skip-build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions