Skip to content

feat: Jira integration for task synchronization #1

@rafiki270

Description

@rafiki270

Summary

Integrate Steroids with Jira to enable bidirectional task synchronization. This would allow teams using Jira for project management to leverage Steroids' automated coder/reviewer loop while keeping Jira as their source of truth.

Requirements

Configuration

  • Jira connection settings in config:
    jira:
      enabled: true
      host: https://company.atlassian.net
      project: PROJ
      apiToken: ${JIRA_API_TOKEN}
      email: user@company.com

Task Discovery

  • Query Jira for available tasks using JQL (e.g., project = PROJ AND status = "To Do" AND assignee is EMPTY)
  • Filter by labels, components, or custom fields to identify AI-eligible tasks
  • Map Jira issue types to Steroids task types

Task Workflow

  1. Claim: Assign the Jira ticket to the runner/bot user when starting work
  2. Sync: Pull issue description, acceptance criteria, and attachments as the task spec
  3. Update: Post progress comments to the Jira ticket during work
  4. Complete: Transition the ticket to "Done" (or appropriate status) when approved
  5. Link: Add commit/PR links to the Jira ticket

Status Mapping

Steroids Status Jira Transition
pending To Do
in_progress In Progress
review In Review
completed Done
failed Blocked (with comment)
disputed Flagged for attention

Commands

# Sync tasks from Jira
steroids jira sync

# Pull next available Jira task
steroids jira pull

# Push local task status to Jira
steroids jira push <task-id>

# Link a local task to a Jira issue
steroids jira link <task-id> <PROJ-123>

Implementation Notes

  • Use Jira REST API v3
  • Consider using the official jira.js npm package
  • Store Jira issue key in task metadata for bidirectional sync
  • Handle rate limiting and pagination for large backlogs
  • Support both Jira Cloud and Jira Server/Data Center

Open Questions

  • Should we support creating Jira tickets from Steroids tasks?
  • How to handle tasks that span multiple Jira tickets?
  • What fields should be synced (story points, labels, components)?

Related

  • Roadmap item in README.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions