SkillHub

jirametric

v1.0.0

通过 Jira Cloud REST API 按用户、事务或日期范围检索并分析工作日志指标。

Sourced from ClawHub, Authored by whz

Installation

Please help me install the skill `jirametric` from SkillHub official store. npx skills add weihezhai/jirametric

```markdown

name: jira description: Manage Jira issues, transitions, and worklogs via the Jira Cloud REST API. homepage: https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/ metadata: { "clawdbot": { "emoji": "🧭", "requires": { "bins": ["curl", "jq", "bc", "python3"], "env": ["JIRA_URL", "JIRA_EMAIL", "JIRA_API_TOKEN"], "optional_env": ["JIRA_BOARD"] }, }, }


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: bash export JIRA_EMAIL="[email protected]" 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

bash {baseDir}/scripts/jira.sh search "payment failure" [maxResults]

  • Issue link

bash {baseDir}/scripts/jira.sh link ABC-321

  • Issue details

bash {baseDir}/scripts/jira.sh issue ABC-321

  • Update status

bash {baseDir}/scripts/jira.sh status ABC-321 "Done"

  • List transitions

bash {baseDir}/scripts/jira.sh transitions ABC-321

  • Assign issue

bash {baseDir}/scripts/jira.sh assign ABC-321 "Jane Doe"

  • Assign to yourself

bash {baseDir}/scripts/jira.sh assign-me ABC-321

  • Add comment

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

  • Create issue

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

  • Log hours

bash {baseDir}/scripts/jira.sh log PB-321 1.5 2025-01-18

  • My open issues

bash {baseDir}/scripts/jira.sh my [maxResults]

  • Logged hours by issue (me)

bash {baseDir}/scripts/jira.sh hours 2025-01-01 2025-01-05

  • Logged hours for a day (everyone)

bash {baseDir}/scripts/jira.sh hours-day 2025-01-05

  • Logged hours for a day (user filter)

bash {baseDir}/scripts/jira.sh hours-day 2025-01-05 "jane"

  • Logged hours for an issue

bash {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.