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: [email protected]

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions