Jira

Manage Jira issues, transitions, and worklogs via the Jira Cloud REST API.

kyjus25

@kyjus25

What This Skill Does

Shell-based CLI for managing Jira Cloud issues, transitions, worklogs, and assignments via REST API. Supports searching, creating, updating status, adding comments, logging hours, and viewing worklog summaries.

Replaces manual Jira UI navigation and repetitive API calls by providing a single command-line interface for common issue and worklog operations.

When to Use It

  • Search Jira issues by summary or key within a project scope
  • Move an issue through its allowed workflow transitions
  • Log work hours against a specific issue for time tracking
  • View all open issues assigned to you
  • Add a comment to a Jira issue from the command line
  • Generate a worklog summary for a date range or specific issue

Install

$ openclaw skills install @kyjus25/clawdbot-jira-skill

Jira Skill

Work with Jira issues and worklogs from Clawdbot (search, status, create, log work, worklog summaries).

Setup

  1. Get your API key: https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click "Create API Token"
  3. Set environment variables:
    export JIRA_EMAIL="you@example.com"
    export JIRA_API_TOKEN="your-api-token"
    export JIRA_URL="https://your-domain.atlassian.net"
    # Optional project scope (comma-separated). Empty = search all.
    export JIRA_BOARD="ABC"
    

Requires curl, jq, bc, and python3.

Quick Commands

All commands live in {baseDir}/scripts/jira.sh.

  • {baseDir}/scripts/jira.sh search "timeout" [max] — fuzzy search by summary or key inside JIRA_BOARD
  • {baseDir}/scripts/jira.sh link ABC-123 — browser link for an issue
  • {baseDir}/scripts/jira.sh issue ABC-123 — quick issue details
  • {baseDir}/scripts/jira.sh status ABC-123 "In Progress" — move an issue (validates available transitions)
  • {baseDir}/scripts/jira.sh transitions ABC-123 — list allowed transitions
  • {baseDir}/scripts/jira.sh assign ABC-123 "name or email" — assign by user search
  • {baseDir}/scripts/jira.sh assign-me ABC-123 — assign to yourself
  • {baseDir}/scripts/jira.sh comment ABC-123 "text" — add a comment
  • {baseDir}/scripts/jira.sh create "Title" ["Description"] — create a Task in JIRA_BOARD
  • {baseDir}/scripts/jira.sh log ABC-123 2.5 [YYYY-MM-DD] — log hours (defaults to today UTC)
  • {baseDir}/scripts/jira.sh my [max] — open issues assigned to you
  • {baseDir}/scripts/jira.sh hours 2025-01-01 2025-01-07 — your logged hours by issue (JSON)
  • {baseDir}/scripts/jira.sh hours-day 2025-01-07 [name|email] — logged hours for a day grouped by user/issue; optional filter (name/email; also resolves to accountId)
  • {baseDir}/scripts/jira.sh hours-issue ABC-123 [name|email] — logged hours for an issue; optional filter (name/email; also resolves to accountId)

Command Reference

  • Search issues

    {baseDir}/scripts/jira.sh search "payment failure" [maxResults]
    
  • Issue link

    {baseDir}/scripts/jira.sh link ABC-321
    
  • Issue details

    {baseDir}/scripts/jira.sh issue ABC-321
    
  • Update status

    {baseDir}/scripts/jira.sh status ABC-321 "Done"
    
  • List transitions

    {baseDir}/scripts/jira.sh transitions ABC-321
    
  • Assign issue

    {baseDir}/scripts/jira.sh assign ABC-321 "Jane Doe"
    
  • Assign to yourself

    {baseDir}/scripts/jira.sh assign-me ABC-321
    
  • Add comment

    {baseDir}/scripts/jira.sh comment ABC-321 "Deployed to staging"
    
  • Create issue

    {baseDir}/scripts/jira.sh create "Fix auth timeout" "Users being logged out after 5m"
    
  • Log hours

    {baseDir}/scripts/jira.sh log PB-321 1.5 2025-01-18
    
  • My open issues

    {baseDir}/scripts/jira.sh my [maxResults]
    
  • Logged hours by issue (me)

    {baseDir}/scripts/jira.sh hours 2025-01-01 2025-01-05
    
  • Logged hours for a day (everyone)

    {baseDir}/scripts/jira.sh hours-day 2025-01-05
    
  • Logged hours for a day (user filter)

    {baseDir}/scripts/jira.sh hours-day 2025-01-05 "jane"
    
  • Logged hours for an issue

    {baseDir}/scripts/jira.sh hours-issue ABC-321 "jane"
    

Notes

  • Worklog commands use Jira's worklog/updated + worklog/list combo and may take a few seconds on large projects.
  • hours filters by JIRA_EMAIL; hours-day returns all users with totals per issue and user.
  • Outputs for hours commands are JSON for reuse in other tools.
  • Status transitions are validated against the server-provided transition list before applying.

Top skills in this category