npx skills add https://github.com/boazy/skills --skill atlassian通过 REST API 直接访问 Jira 和 Confluence。此技能为问题单和页面提供了完整的 CRUD 操作,无需 MCP 服务器。
需要在 ~/.local/secrets/atlassian.env 文件中设置环境变量:
ATLASSIAN_SITE - 您的 Atlassian 站点(例如:yourcompany.atlassian.net)ATLASSIAN_EMAIL - 您的 Atlassian 账户邮箱ATLASSIAN_API_TOKEN - 来自 https://id.atlassian.com/manage-profile/security/api-tokens 的 API 令牌npx tsx scripts/jira-search.ts "<JQL 查询语句>" [maxResults] [nextPageToken]
示例:
npx tsx scripts/jira-search.ts "assignee = currentUser() AND status != Done"Access Jira and Confluence directly via REST APIs. This skill provides full CRUD operations for issues and pages without requiring the MCP server.
Requires environment variables in ~/.local/secrets/atlassian.env:
ATLASSIAN_SITE - Your Atlassian site (e.g., yourcompany.atlassian.net)ATLASSIAN_EMAIL - Your Atlassian account emailATLASSIAN_API_TOKEN - API token from https://id.atlassian.com/manage-profile/security/api-tokensnpx tsx scripts/jira-search.ts "<JQL query>" [maxResults] [nextPageToken]
Examples:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
npx tsx scripts/jira-search.ts "project = PROJ AND type = Bug" 50npx tsx scripts/jira-search.ts "project = PROJ" 50 "token..." (分页)有关 JQL 语法参考,请参阅 docs/jql-guide.md。
npx tsx scripts/jira-get.ts <issueKey>
示例:npx tsx scripts/jira-get.ts PROJ-123
npx tsx scripts/jira-create.ts '<JSON>'
创建单个问题单:
npx tsx scripts/jira-create.ts '{"project": "PROJ", "type": "Story", "summary": "新功能", "description": "详情在此"}'
批量创建(数组):
npx tsx scripts/jira-create.ts '[{"project": "PROJ", "type": "Bug", "summary": "Bug 1"}, {"project": "PROJ", "type": "Bug", "summary": "Bug 2"}]'
npx tsx scripts/jira-update.ts <issueKey> '<JSON updates>'
示例:npx tsx scripts/jira-update.ts PROJ-123 '{"status": "In Progress", "assignee": "user@example.com"}'
# 获取评论
npx tsx scripts/jira-comment.ts <issueKey> get
# 添加评论
npx tsx scripts/jira-comment.ts <issueKey> add "<comment text>"
npx tsx scripts/jira-attachment.ts <issueKey> <filePath> [fileName]
示例:
npx tsx scripts/jira-attachment.ts PROJ-123 ./diagram.pngnpx tsx scripts/jira-attachment.ts PROJ-123 ./image.png architecture.png图片嵌入说明:
),转换器仅对 Atlassian 托管的 URL 使用 mediaSingle。INVALID_INPUT 错误。jira-attachment.ts 上传文件,然后在您的 Markdown 图片 URL 中使用返回的 Atlassian contentUrl。npx tsx scripts/confluence-search.ts "<CQL 查询语句>" [maxResults]
示例:
npx tsx scripts/confluence-search.ts "title ~ 'Roadmap'"npx tsx scripts/confluence-search.ts "space = DEV AND type = page" 25有关 CQL 语法参考,请参阅 docs/cql-guide.md。
npx tsx scripts/confluence-get.ts <pageId>
# 或通过标题获取
npx tsx scripts/confluence-get.ts "<page title>" <spaceKey>
npx tsx scripts/confluence-create.ts '<JSON>'
示例:
npx tsx scripts/confluence-create.ts '{"space": "DEV", "title": "新页面", "body": "<p>内容在此</p>"}'
可选父页面:
npx tsx scripts/confluence-create.ts '{"space": "DEV", "title": "子页面", "body": "<p>内容</p>", "parentId": "123456"}'
npx tsx scripts/confluence-update.ts <pageId> '<JSON updates>'
示例:npx tsx scripts/confluence-update.ts 123456 '{"title": "更新后的标题", "body": "<p>新内容</p>"}'
# 列出属性
npx tsx scripts/confluence-properties.ts <pageId> get
# 获取单个属性
npx tsx scripts/confluence-properties.ts <pageId> get <propertyKey>
# 设置属性
npx tsx scripts/confluence-properties.ts <pageId> set '<JSON>'
# 删除属性
npx tsx scripts/confluence-properties.ts <pageId> delete <propertyKey>
# 获取页面表情符号
npx tsx scripts/confluence-properties.ts <pageId> get-emoji
# 设置页面表情符号(同时更新 emoji-title-published 和 emoji-title-draft)
npx tsx scripts/confluence-properties.ts <pageId> set-emoji "🚀"
# 移除页面表情符号
npx tsx scripts/confluence-properties.ts <pageId> remove-emoji
属性负载示例:
'{"key": "my-property", "value": {"foo": "bar"}}''{"properties": [{"key": "one", "value": 1}, {"key": "two", "value": "two"}]}'注意:页面的 CRUD 操作使用 Confluence REST API v2。CQL 搜索仍使用旧版端点,因为 v2 API 未公开 CQL 搜索功能。
用于生成正确的查询语句:
docs/jql-guide.md 了解 JQL 语法、字段、运算符和函数docs/cql-guide.md 了解 CQL 语法和字段npx tsx scripts/jira-search.ts "assignee = currentUser() AND status != Done"npx tsx scripts/jira-update.ts PROJ-123 '{"status": "Done"}'npx tsx scripts/jira-create.ts '[{...}, {...}, {...}]'npx tsx scripts/confluence-search.ts "title ~ 'API Documentation'"npx tsx scripts/confluence-get.ts 123456npx tsx scripts/confluence-create.ts '{"space": "DEV", "title": "API 指南", "body": "<h1>API 指南</h1><p>...</p>"}'周安装量
1
代码仓库
首次出现
1 天前
安全审计
安装于
junie1
windsurf1
amp1
cline1
opencode1
cursor1
npx tsx scripts/jira-search.ts "assignee = currentUser() AND status != Done"npx tsx scripts/jira-search.ts "project = PROJ AND type = Bug" 50npx tsx scripts/jira-search.ts "project = PROJ" 50 "token..." (pagination)See docs/jql-guide.md for JQL syntax reference.
npx tsx scripts/jira-get.ts <issueKey>
Example: npx tsx scripts/jira-get.ts PROJ-123
npx tsx scripts/jira-create.ts '<JSON>'
Single issue:
npx tsx scripts/jira-create.ts '{"project": "PROJ", "type": "Story", "summary": "New feature", "description": "Details here"}'
Bulk create (array):
npx tsx scripts/jira-create.ts '[{"project": "PROJ", "type": "Bug", "summary": "Bug 1"}, {"project": "PROJ", "type": "Bug", "summary": "Bug 2"}]'
npx tsx scripts/jira-update.ts <issueKey> '<JSON updates>'
Example: npx tsx scripts/jira-update.ts PROJ-123 '{"status": "In Progress", "assignee": "user@example.com"}'
# Get comments
npx tsx scripts/jira-comment.ts <issueKey> get
# Add comment
npx tsx scripts/jira-comment.ts <issueKey> add "<comment text>"
npx tsx scripts/jira-attachment.ts <issueKey> <filePath> [fileName]
Examples:
npx tsx scripts/jira-attachment.ts PROJ-123 ./diagram.pngnpx tsx scripts/jira-attachment.ts PROJ-123 ./image.png architecture.pngImage embedding note:
), the converter uses mediaSingle only for Atlassian-hosted URLs.INVALID_INPUT errors.jira-attachment.ts, then use the returned Atlassian contentUrl in your markdown image URL.npx tsx scripts/confluence-search.ts "<CQL query>" [maxResults]
Examples:
npx tsx scripts/confluence-search.ts "title ~ 'Roadmap'"npx tsx scripts/confluence-search.ts "space = DEV AND type = page" 25See docs/cql-guide.md for CQL syntax reference.
npx tsx scripts/confluence-get.ts <pageId>
# or by title
npx tsx scripts/confluence-get.ts "<page title>" <spaceKey>
npx tsx scripts/confluence-create.ts '<JSON>'
Example:
npx tsx scripts/confluence-create.ts '{"space": "DEV", "title": "New Page", "body": "<p>Content here</p>"}'
Optional parent page:
npx tsx scripts/confluence-create.ts '{"space": "DEV", "title": "Child Page", "body": "<p>Content</p>", "parentId": "123456"}'
npx tsx scripts/confluence-update.ts <pageId> '<JSON updates>'
Example: npx tsx scripts/confluence-update.ts 123456 '{"title": "Updated Title", "body": "<p>New content</p>"}'
# List properties
npx tsx scripts/confluence-properties.ts <pageId> get
# Get a single property
npx tsx scripts/confluence-properties.ts <pageId> get <propertyKey>
# Set a property
npx tsx scripts/confluence-properties.ts <pageId> set '<JSON>'
# Delete a property
npx tsx scripts/confluence-properties.ts <pageId> delete <propertyKey>
# Get page emoji
npx tsx scripts/confluence-properties.ts <pageId> get-emoji
# Set page emoji (updates both emoji-title-published and emoji-title-draft)
npx tsx scripts/confluence-properties.ts <pageId> set-emoji "🚀"
# Remove page emoji
npx tsx scripts/confluence-properties.ts <pageId> remove-emoji
Example property payloads:
'{"key": "my-property", "value": {"foo": "bar"}}''{"properties": [{"key": "one", "value": 1}, {"key": "two", "value": "two"}]}'Note: Page CRUD uses the Confluence REST API v2. CQL search still uses the legacy endpoint because the v2 API does not expose CQL search.
For generating correct queries:
docs/jql-guide.md for JQL syntax, fields, operators, and functionsdocs/cql-guide.md for CQL syntax and fieldsnpx tsx scripts/jira-search.ts "assignee = currentUser() AND status != Done"npx tsx scripts/jira-update.ts PROJ-123 '{"status": "Done"}'npx tsx scripts/jira-create.ts '[{...}, {...}, {...}]'npx tsx scripts/confluence-search.ts "title ~ 'API Documentation'"npx tsx scripts/confluence-get.ts 123456npx tsx scripts/confluence-create.ts '{"space": "DEV", "title": "API Guide", "body": "<h1>API Guide</h1><p>...</p>"}'Weekly Installs
1
Repository
First Seen
1 day ago
Security Audits
Installed on
junie1
windsurf1
amp1
cline1
opencode1
cursor1
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
29,800 周安装