Back to list
dvillarama

jira-create

by dvillarama

0🍴 0📅 Jan 13, 2026

SKILL.md


name: jira-create description: Create Jira tickets (issues, epics, tasks) using the Jira REST API. Use when the user wants to create Jira tickets. allowed-tools: Bash, AskUserQuestion, TodoWrite

Create Jira Tickets

This skill helps create Jira tickets using the Jira REST API with curl.

Prerequisites Check

ALWAYS start by checking the environment:

  1. Check if required environment variables are set:
    cd ~ && source .zshrc && \
    if [ -z "$JIRA_API_TOKEN" ] || [ -z "$JIRA_EMAIL" ] || [ -z "$JIRA_SERVER" ] || [ -z "$JIRA_PROJECT" ]; then \
      echo "Missing variables"; \
    else \
      echo "All set"; \
    fi
    

If not set:

  • Inform the user to add these to their ~/.zshrc:
    • export JIRA_API_TOKEN="<your-token>"
    • export JIRA_EMAIL="<your-email>"
    • export JIRA_SERVER="<your-jira-server-url>"
    • export JIRA_PROJECT="<your-project-key>"

Configuration

Jira configuration is loaded from environment variables:

  • Server: $JIRA_SERVER
  • Email: $JIRA_EMAIL
  • Default Project: $JIRA_PROJECT

Issue Types

These issue type IDs are specific to your project (may vary by Jira instance):

  • Initiative: 10410
  • Epic: 10000
  • Story: 10315
  • Bug: 10004
  • Sub-task: 10003
  • TPS Bug: 10459
  • Vulnerability: 10574
  • Compliance: 10907

Creating Issues via REST API

Required Information

  • Type: Choose from the issue types above
  • Summary: Brief title of the issue
  • Description: Detailed description

Optional Information

  • Parent: Parent issue key (required for child issues like Stories under Epics)
  • Assignee: User account ID
  • Labels: Tags for categorization
  • Priority: Priority ID

REST API Command Format

Create an Epic:

cd ~ && source .zshrc && curl -s -X POST --user $JIRA_EMAIL:$JIRA_API_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "project": {"key": "'"$JIRA_PROJECT"'"},
      "summary": "Epic title here",
      "description": {
        "type": "doc",
        "version": 1,
        "content": [{
          "type": "paragraph",
          "content": [{
            "type": "text",
            "text": "Epic description here"
          }]
        }]
      },
      "issuetype": {"id": "10000"}
    }
  }' \
  "$JIRA_SERVER/rest/api/3/issue"

Create a Story (linked to Epic):

cd ~ && source .zshrc && curl -s -X POST --user $JIRA_EMAIL:$JIRA_API_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "project": {"key": "'"$JIRA_PROJECT"'"},
      "summary": "Story title here",
      "description": {
        "type": "doc",
        "version": 1,
        "content": [{
          "type": "paragraph",
          "content": [{
            "type": "text",
            "text": "Story description here"
          }]
        }]
      },
      "issuetype": {"id": "10315"},
      "parent": {"key": "'"$JIRA_PROJECT"'-XXXX"}
    }
  }' \
  "$JIRA_SERVER/rest/api/3/issue"

Create a Bug:

cd ~ && source .zshrc && curl -s -X POST --user $JIRA_EMAIL:$JIRA_API_TOKEN \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "project": {"key": "'"$JIRA_PROJECT"'"},
      "summary": "Bug title here",
      "description": {
        "type": "doc",
        "version": 1,
        "content": [{
          "type": "paragraph",
          "content": [{
            "type": "text",
            "text": "Bug description here"
          }]
        }]
      },
      "issuetype": {"id": "10004"}
    }
  }' \
  "$JIRA_SERVER/rest/api/3/issue"

Workflow

  1. Check prerequisites (API token must be set)
  2. Use TodoWrite to track progress if creating multiple tickets
  3. Gather information from the user if not provided
  4. Build the curl command with proper JSON payload
  5. Execute the REST API call
  6. Parse the response to extract the issue key (e.g., PHN-1234)
  7. Show the result including the issue key and URL
  8. For epics with tasks: Create the epic first, capture its key, then create each child issue with the epic's key as the parent

Tips

  • Always capture the issue key from the JSON response: {"id":"439870","key":"PROJECT-4421",...}
  • Use descriptive summaries (they appear in lists)
  • The description field uses Atlassian Document Format (ADF), not plain text
  • For multi-line descriptions, you can add multiple paragraph objects
  • When creating child issues (Stories under Epics), use the "parent": {"key": "PROJECT-XXXX"} field
  • Issue URLs follow the pattern: $JIRA_SERVER/browse/$JIRA_PROJECT-XXXX

Score

Total Score

45/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

0/5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon