{
  "name": "jira",
  "kind": "shell",
  "description": "Feed JIRA issues into groundcrew via the jira CLI.",
  "installDir": "~/.config/groundcrew",
  "files": ["jira.sh"],
  "prerequisites": [
    {
      "bin": "jira",
      "install": {
        "darwin": "brew install ankitpokhrel/jira-cli/jira-cli",
        "linux": "sudo snap install jira-cli && sudo snap alias jira-cli jira"
      },
      "setup": "jira init"
    },
    {
      "bin": "jq",
      "install": {
        "darwin": "brew install jq",
        "linux": "sudo apt-get install jq"
      }
    }
  ],
  "secrets": [
    {
      "env": "JIRA_API_TOKEN",
      "file": "jira.token",
      "mode": "0600",
      "url": "https://id.atlassian.com/manage-profile/security/api-tokens"
    }
  ],
  "env": {
    "JIRA_GROUNDCREW_JQL": "labels = groundcrew AND (statusCategory != Done OR (statusCategory = Done AND updated >= -7d))",
    "JIRA_REVIEW_PATTERN": "In Review",
    "JIRA_TODO_PATTERN": "New",
    "JIRA_DEFAULT_AGENT": "",
    "JIRA_STATE_IN_PROGRESS": "In Progress",
    "JIRA_STATE_IN_REVIEW": "In Review",
    "JIRA_STATE_DONE": "Done"
  },
  "commands": {
    "verify": "~/.config/groundcrew/jira.sh verify",
    "listTasks": "~/.config/groundcrew/jira.sh list",
    "getTask": "~/.config/groundcrew/jira.sh get ${id}",
    "markInProgress": "~/.config/groundcrew/jira.sh move ${id} \"$JIRA_STATE_IN_PROGRESS\"",
    "markInReview": "~/.config/groundcrew/jira.sh move ${id} \"$JIRA_STATE_IN_REVIEW\"",
    "markDone": "~/.config/groundcrew/jira.sh move ${id} \"$JIRA_STATE_DONE\""
  }
}
