← 返回 Skills 市场
cehd5170

jira-ticket

作者 cehd5170 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
167
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install jira-ticket
功能描述
Create Jira tickets with web-researched content. Use when asked to create, file, or open a Jira issue/ticket/story/bug/task, especially when the ticket conte...
使用说明 (SKILL.md)

Jira Ticket Creator with Web Research

Create Jira tickets whose content is enriched by web search. Follow these phases in order.

Setup

Three environment variables are required:

All Jira API calls use Basic auth via curl -u and force HTTP/1.1:

curl --http1.1 -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" -H "Content-Type: application/json" "$JIRA_BASE_URL/rest/api/3/..."

Phase 1 — Parse Arguments

Parse the user's request to extract:

Field Required Description
project yes Jira project key (e.g. ENG, OPS)
issuetype no Task, Bug, Story, Epic (default: Task)
summary yes Short title for the ticket
search_query no Topic to web-search for enriching the description
priority no Highest, High, Medium, Low, Lowest (default: Medium)
assignee no Atlassian account email or ID
labels no Comma-separated labels
components no Comma-separated component names

If the user does not provide a project key, ask for it before proceeding.


Phase 2 — Web Research (if applicable)

If the user asked for research, or if the ticket would benefit from context (e.g. a bug report referencing an external API, a story about integrating a third-party service):

  1. Use the web_search tool to search for the relevant topic.
  2. Use the xurl tool or curl to fetch key pages for details.
  3. Extract the most relevant information: error descriptions, API docs, best practices, version notes, or solution approaches.

Compile findings into a structured summary:

### Research Summary
- **Source**: [URL]
- **Key findings**: ...
- **Relevant details**: ...

If no research is needed, skip to Phase 3.


Phase 3 — Compose Ticket Content

Build the ticket description in Atlassian Document Format (ADF). Combine:

  • The user's original request/context
  • Research findings from Phase 2 (if any)
  • Acceptance criteria (when creating Stories)
  • Steps to reproduce (when creating Bugs)

Keep the description concise and actionable.

ADF Structure

Jira API v3 uses ADF for the description field. Minimal example:

{
  "type": "doc",
  "version": 1,
  "content": [
    {
      "type": "paragraph",
      "content": [{ "type": "text", "text": "Description text here." }]
    }
  ]
}

For richer formatting (headings, bullet lists, links):

{
  "type": "doc",
  "version": 1,
  "content": [
    {
      "type": "heading",
      "attrs": { "level": 3 },
      "content": [{ "type": "text", "text": "Summary" }]
    },
    {
      "type": "bulletList",
      "content": [
        {
          "type": "listItem",
          "content": [
            {
              "type": "paragraph",
              "content": [{ "type": "text", "text": "Item one" }]
            }
          ]
        }
      ]
    },
    {
      "type": "paragraph",
      "content": [
        { "type": "text", "text": "Source: " },
        {
          "type": "text",
          "text": "link text",
          "marks": [{ "type": "link", "attrs": { "href": "https://example.com" } }]
        }
      ]
    }
  ]
}

Phase 4 — Validate Project and Fields

Before creating the ticket, verify the project exists and discover available fields:

# Verify project
curl --http1.1 -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" -H "Content-Type: application/json" \
  "$JIRA_BASE_URL/rest/api/3/project/$PROJECT_KEY" | jq '{key, name, id}'

# List available issue types for the project
curl --http1.1 -s -u "$JIRA_EMAIL:$JIRA_API_TOKEN" -H "Content-Type: application/json" \
  "$JIRA_BASE_URL/rest/api/3/project/$PROJECT_KEY/statuses" | jq '.[].name'

If the project or issue type is invalid, report the error and ask the user to correct it.


Phase 5 — Create the Ticket

curl --http1.1 -s -X POST \
  -u "$JIRA_EMAIL:$JIRA_API_TOKEN" \
  -H "Content-Type: application/json" \
  "$JIRA_BASE_URL/rest/api/3/issue" \
  -d '{
    "fields": {
      "project": { "key": "PROJECT_KEY" },
      "summary": "Ticket summary here",
      "issuetype": { "name": "Task" },
      "priority": { "name": "Medium" },
      "description": { ADF_OBJECT },
      "labels": ["label1", "label2"]
    }
  }'

Extract the response:

# Parse response for issue key and URL
ISSUE_KEY=$(echo "$RESPONSE" | jq -r '.key')
ISSUE_URL="$JIRA_BASE_URL/browse/$ISSUE_KEY"

If the API returns an error, display the error message and suggest corrections.


Phase 6 — Report

Present the result to the user:

  • Issue key: e.g. ENG-1234
  • URL: direct link to the ticket
  • Summary: the title that was set
  • Research included: yes/no, with sources listed

Notes

  • The Jira REST API v3 requires ADF for descriptions — plain text or markdown will be rejected.
  • Rate limits: Jira Cloud allows ~100 requests per minute per user.
  • The jira.yaml network policy preset in NemoClaw already allows *.atlassian.net, auth.atlassian.com, and api.atlassian.com on port 443.
  • To use this skill inside NemoClaw's sandbox, enable the Jira preset in your sandbox policy.

Examples

# Create a simple task
/jira-ticket ENG "Update API rate limiting docs"

# Create a bug with web research
/jira-ticket ENG --type Bug --search "Node.js fetch timeout ECONNRESET" "Fix intermittent ECONNRESET in payment service"

# Create a story with priority and labels
/jira-ticket PLATFORM --type Story --priority High --labels "q2,backend" "Add OAuth2 PKCE flow for mobile clients"
安全使用建议
This skill appears coherent and requests only the expected Jira credentials. Before installing: (1) Provide a dedicated Jira API token scoped to a minimally privileged account (service account) rather than your personal admin token; (2) keep JIRA_API_TOKEN secret and rotate it if leaked; (3) avoid including sensitive secrets or private data in the ticket text or in web-search queries, since the skill fetches external pages during research and will post the composed content to your Jira instance; and (4) if you run the skill in a sandbox, enable the stated Jira network preset and review network policies so the skill can only reach the required Atlassian hosts.
功能分析
Type: OpenClaw Skill Name: jira-ticket Version: 1.0.0 The skill is a legitimate utility for creating Jira tickets enriched with web research. It follows a structured process including argument parsing, information gathering via web search, and interaction with the Jira REST API v3 using standard authentication methods. The use of environment variables (JIRA_API_TOKEN, JIRA_EMAIL) and shell commands (curl, jq) in SKILL.md is consistent with the stated purpose, and no evidence of malicious intent, data exfiltration, or prompt injection was found.
能力评估
Purpose & Capability
Name/description match the declared requirements: curl and jq are used for HTTP calls and JSON parsing, and the three environment variables (JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN) are exactly what is needed to call the Jira Cloud REST API.
Instruction Scope
SKILL.md stays on task: it parses user input, optionally runs web searches and fetches pages for research, builds an ADF description, validates project/fields, and posts to Jira. It does not instruct reading local files or unrelated environment variables, nor does it direct data to unexpected endpoints beyond web research and Jira.
Install Mechanism
Instruction-only skill with no install spec and no code files; nothing is written to disk and no external packages are pulled in. This is the lowest-risk install model.
Credentials
Requested secrets are limited and appropriate for the task (Jira base URL, account email, API token). No unrelated credentials, config paths, or broad system secrets are requested.
Persistence & Privilege
always:false and normal autonomous invocation settings. The skill does not request permanent system-wide presence or modifications to other skills or agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install jira-ticket
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /jira-ticket 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of the Jira Ticket skill. - Create Jira tickets with descriptions enriched by web research. - Supports user input for project, issue type, summary, priority, assignee, labels, and more. - Validates project and issue fields before ticket creation. - Generates ticket descriptions in Atlassian Document Format (ADF). - Returns issue key, direct URL, summary, and research sources upon ticket creation.
元数据
Slug jira-ticket
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

jira-ticket 是什么?

Create Jira tickets with web-researched content. Use when asked to create, file, or open a Jira issue/ticket/story/bug/task, especially when the ticket conte... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 167 次。

如何安装 jira-ticket?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install jira-ticket」即可一键安装,无需额外配置。

jira-ticket 是免费的吗?

是的,jira-ticket 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

jira-ticket 支持哪些平台?

jira-ticket 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 jira-ticket?

由 cehd5170(@cehd5170)开发并维护,当前版本 v1.0.0。

💬 留言讨论