技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
jira-server-pat-cli【数据与研究】通用 Jira Server / Data Center REST CLI 工作流:通过随附的 scripts/jira_cli.py 安全地探测实例、鉴权(PAT / Cookie / Basic Auth / OAuth)、发现项目与字段元数据、执行 JQL 搜索与 issue CRUD、transition、指派、评论、工时、附件、issue link、watcher、vote、权限与用户查询,并输出可直接被脚本解析的 JSON。仅访问用户自行配置的 Jira 实例 origin(无内置实例、无固定端点),适用于自托管 Jira、2FA、SSO、内部 CA、自签证书与 context path 场景。触发场景:用户要求用 CLI/脚本管理 Jira Server 或 Data Center…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
为任意 Jira Server / Data Center 实例提供可迁移、可审计、无环境隐私的命令行管理方案。优先使用 Jira 官方 REST API 与运行时元数据发现,绝不把单个组织的配置写进本 Skill。产出是可复现的命令 序列与结构化 JSON 结果,而不是绑定某个实例的一次性脚本。
accountId、REST v3 与 Atlassian Document Format 语义不同,本 Skill
的 payload 与鉴权假设不成立。python3 scripts/jira_cli.py server-info。记录但不持久化:Jira 版本与 build number、Base URL
是否含 context path(如 /jira)、是否安装 Jira Software / Service Management、REST 版本与目标
endpoint 是否存在。不要用 /login.jsp 作为 Server/DC 的唯一识别依据。## Decision Rules 的优先级选定鉴权方式;用户一旦提供 PAT 立即持久化,后续
直接读取配置,不再重复索取。--insecure 仅限临时诊断。whoami、server-info、projects、
permissions --project PROJ 四个只读命令,确认身份、实例与权限后再考虑写入。references/field-metadata.md 发现 issue type、字段、transition 的 ID 与可用字段集合。禁止使用
跨实例固定回退 ID。startAt、maxResults、total,不能假设一次
返回全部结果。默认输出 JSON,便于 jq、脚本与 Agent 做确定性解析;不要把面向人的表格文本当作
程序输入。--dry-run,例如
create PROJ Bug "Example" --dry-run、update PROJ-123 --summary "Updated" --dry-run、
transition PROJ-123 "In Progress" --dry-run。真实写入前逐项确认:当前用户身份、项目与 issue
是否正确、权限是否满足、字段是否在 create metadata 或 edit metadata 中、transition 是否在当前
issue 的可用列表中、destructive 操作是否得到用户明确确认。## Verification 的命令,并复述实际访问的实例类型与只读/写入范围。Authorization: Bearer <token> 发送,不附加用户名;新实例先用 whoami 验证。whoami 返回 401 / 403 -> 按 references/auth-and-tls.md 的五步顺序排查,不要直接断言被
SSO 接管。references/auth-and-tls.md。references/field-metadata.md。references/version-differences.md。references/troubleshooting.md。request 发起受控 REST 调用,并在执行前核对目标版本文档。references/command-reference.md。jira.example.com、PROJ、PROJ-123、alice、customfield_12345 等明确占位值。JIRA_PAT、权限 0600 的配置文件或 secret
manager 注入。若用户已在对话中提供 PAT,立即持久化到本地配置,后续直接读取;不得把 PAT 写入
Skill 文件、脚本、日志、命令行参数或输出。POST / PUT / DELETE 使用 --yes 门禁。规则冲突时按此顺序取舍,序号越小越具约束力:
--yes 之外的隐含授权执行。references/auth-and-tls.md 的排查顺序走完仍为 401 / 403 -> 停止,把排查结论交回用户,
不要循环重试或猜测凭证。409 / 429 / 5xx 后仍无法确认服务端状态 -> 停止,不要重复提交非幂等写入。交付或修改 Jira CLI 后必须完成:
python3 -c "import ast,pathlib; ast.parse(pathlib.Path('scripts/jira_cli.py').read_text())"
python3 scripts/jira_cli.py --help
python3 scripts/jira_cli.py create --help
python3 scripts/jira_cli.py request --help
python3 -m unittest scripts/test_jira_cli.py
__pycache__ 等字节码缓存(py_compile 会在 scripts/ 下生成,改用上面的
ast.parse 检查即可避免)。有可用测试实例时,再做只读 smoke test:server-info、whoami、projects。真实写入测试必须使用
专用测试项目与无敏感内容的临时 issue,完成后按用户确认清理测试数据,不把真实结果写回 Skill。
jira_cli.py 命令及其 JSON 结果,或对目标实例能力的明确结论。## Verification 清单全绿、未落盘任何
实例私有信息。按需加载,不要预先全读:
references/command-reference.md — 需要具体子命令、参数、配置文件字段或环境变量清单时读;查
版本相关能力分组与官方依据时也读这里。references/auth-and-tls.md — 实例自托管、启用 2FA/SSO、位于反向代理后、使用内部 CA/自签证书,
或 whoami 返回 401/403 时读。references/field-metadata.md — 构造 create/update/transition payload 前读,用于发现字段与
issue type ID 并处理本地化与同名歧义。references/version-differences.md — 选择 API 根路径、create metadata 行为异常、用户字段或描述
格式在版本间不一致时读。references/troubleshooting.md — 收到非 2xx 响应、需要决定是否重试时读。scripts/jira_cli.py — 无第三方依赖的 REST CLI。用 python3 scripts/jira_cli.py <command> --help
查看子命令,返回 JSON 到 stdout;非零退出码表示失败。断言实例信息、构造 payload、执行 CRUD 前
以它为准。scripts/test_jira_cli.py — 离线契约测试,用内置 HTTP stub 验证分页、issue type 解析、transition
名称解析、destructive --yes 门禁与配置加载。改动 jira_cli.py 后运行它,不需要真实实例。