工单生成器
jira-ticket
by cehd5170
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 content should be informed by web research or search results. Triggers on phrases like 'create a Jira ticket', 'file a Jira issue', 'open a bug in Jira', 'make a Jira story with research'.
安装
claude skill add --url github.com/openclaw/skills/tree/main/skills/cehd5170/jira-ticket文档
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:
JIRA_BASE_URL— your Atlassian instance (e.g.https://yourteam.atlassian.net)JIRA_EMAIL— the email tied to your Atlassian accountJIRA_API_TOKEN— an API token from https://id.atlassian.com/manage-profile/security/api-tokens
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):
- Use the
web_searchtool to search for the relevant topic. - Use the
xurltool orcurlto fetch key pages for details. - 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.yamlnetwork policy preset in NemoClaw already allows*.atlassian.net,auth.atlassian.com, andapi.atlassian.comon 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"
相关 Skills
技能工坊
by anthropics
覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。
✎ 技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。
PPT处理
by anthropics
处理 .pptx 全流程:创建演示文稿、提取和解析幻灯片内容、批量修改现有文件,支持模板套用、合并拆分、备注评论与版式调整。
✎ 涉及PPTX的创建、解析、修改到合并拆分都能一站搞定,连备注、模板和评论也能处理,做演示文稿特别省心。
PDF处理
by anthropics
遇到 PDF 读写、文本表格提取、合并拆分、旋转加水印、表单填写或加解密时直接用它,也能提取图片、生成新 PDF,并把扫描件通过 OCR 变成可搜索文档。
✎ PDF杂活别再来回切工具了,文本表格提取、合并拆分到OCR识别一次搞定,连扫描件也能变可搜索。
相关 MCP 服务
文件系统
编辑精选by Anthropic
Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。
✎ 这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。
by wonderwhy-er
Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。
✎ 这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。
EdgarTools
编辑精选by dgunning
EdgarTools 是无需 API 密钥即可解析 SEC EDGAR 财报的开源 Python 库。
✎ 这个工具解决了金融数据获取的痛点——直接让 AI 读取结构化财报,比如让 Claude 分析苹果的 10-K 文件。适合量化分析师或金融开发者快速构建数据管道。但注意,它依赖 SEC 网站稳定性,高峰期可能延迟。