-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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_KEYfromprocess.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
-
Webhook Setup
- Configure Jira to send webhook events for new issue creations to Jacob.
- Ensure the webhook utilizes the
JIRA_API_KEYsecurely stored inprocess.env.
-
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.
-
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.
-
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_KEYis 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