- 新增 `jira_cli.py` 脚本,支持在不依赖 Atlassian MCP 的环境下通过同一 Jira Token 进行搜索、创建 Issue 和评论 - 新增共享配置模块 `jira_env.py`,统一加载 `jira_upload.env` 并支持在技能根目录查找配置文件 - 更新 `SKILL.md` 和参考文档,增加「AI 执行契约」和详细的前置条件说明,强制 Step 1→5 线性执行顺序 - 新增 `agent_execution_checklist.md` 检查清单,防止 AI 跳步、误用工具或未等用户确认就绑定 Issue - 改进 `jira_cli.py` 的评论和描述生成,将常见 Markdown 语法转换为 Jira ADF 格式以获得更好的渲染效果
101 lines
3.6 KiB
Markdown
101 lines
3.6 KiB
Markdown
# Jira 上传附件 — 配置文件说明
|
||
|
||
本技能通过脚本 `scripts/upload_attachment.py` 将影响分析报告 MD 文件上传到 Jira Issue 附件(Atlassian MCP 插件不支持上传文件)。脚本从**配置文件**或环境变量读取 Jira 认证与站点信息,环境变量可覆盖配置文件中的同名项。
|
||
|
||
---
|
||
|
||
## 配置文件方式(推荐)
|
||
|
||
### 1. 创建配置文件
|
||
|
||
在技能目录 `skills/g3fo-commit-jira/` 下放置 `jira_upload.env`,或复制示例后改名并填写真实值:
|
||
|
||
```powershell
|
||
# 在技能目录下
|
||
copy jira_upload.env.example jira_upload.env
|
||
# 编辑 jira_upload.env,填入 JIRA_BASE_URL、JIRA_EMAIL、JIRA_API_TOKEN
|
||
```
|
||
|
||
### 2. 文件格式
|
||
|
||
`jira_upload.env` 为 KEY=VALUE 格式,支持 `#` 注释:
|
||
|
||
```ini
|
||
# Jira 站点 URL,不要带末尾 /
|
||
JIRA_BASE_URL=https://你的站点.atlassian.net
|
||
# 登录邮箱
|
||
JIRA_EMAIL=你的邮箱@company.com
|
||
# API Token(在 Atlassian 账户设置中创建)
|
||
JIRA_API_TOKEN=你的 API Token
|
||
```
|
||
|
||
### 3. 指定配置文件路径
|
||
|
||
从仓库根目录执行时,建议用 `--config` 指定技能目录下的配置文件:
|
||
|
||
```powershell
|
||
python skills/g3fo-commit-jira/scripts/upload_attachment.py --config "skills/g3fo-commit-jira/jira_upload.env" --issue G3SF-123 --file "G3SF-123_Impact_Analysis.md"
|
||
```
|
||
|
||
---
|
||
|
||
## 配置项说明
|
||
|
||
| 配置项 | 说明 | 示例 |
|
||
|--------|------|------|
|
||
| `JIRA_BASE_URL` | Jira 站点 URL,不要带末尾 `/` | `https://your-domain.atlassian.net` |
|
||
| `JIRA_EMAIL` | 登录 Jira 的邮箱 | `you@company.com` |
|
||
| `JIRA_API_TOKEN` | Jira 账户的 API Token | 在 [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens) 创建 |
|
||
|
||
---
|
||
|
||
## 无 MCP:`jira_cli.py`(查 Jira / 建单 / 评论)
|
||
|
||
在 **未安装 Atlassian MCP** 的环境(其它 IDE、终端)中,使用与上传附件**相同**的 `jira_upload.env`,通过 `scripts/jira_cli.py` 调用 Jira REST API v3:
|
||
|
||
| 子命令 | 作用 |
|
||
|--------|------|
|
||
| `myself` | 当前用户 accountId / 邮箱 |
|
||
| `search` | JQL 搜索(默认:G3SF 进行中且指派给当前用户) |
|
||
| `issue <KEY>` | 查看单条 Issue |
|
||
| `create` | 创建 Issue(默认 G3SF + Task,经办人为 Token 用户) |
|
||
| `comment` | 添加评论 |
|
||
|
||
依赖:`pip install -r scripts/requirements.txt`(仅需 `requests`)。
|
||
|
||
```powershell
|
||
# 搜索(与技能 Step 3 默认 JQL 一致)
|
||
python skills/g3fo-commit-jira/scripts/jira_cli.py --config "skills/g3fo-commit-jira/jira_upload.env" search --limit 5
|
||
|
||
# 新建(描述来自文件)
|
||
python skills/g3fo-commit-jira/scripts/jira_cli.py --config "skills/g3fo-commit-jira/jira_upload.env" create --summary "[G3SF] 简述" --description-file "D:\tmp\impact.md"
|
||
|
||
# 评论
|
||
python skills/g3fo-commit-jira/scripts/jira_cli.py --config "skills/g3fo-commit-jira/jira_upload.env" comment --issue G3SF-123 --body-file "D:\tmp\comment.md"
|
||
```
|
||
|
||
配置文件查找顺序:当前工作目录、`scripts/` 下、`skills/g3fo-commit-jira/` 下的 `jira_upload.env`。详细参数见 `references/workflow.md`「无 MCP:jira_cli 速查」。
|
||
|
||
---
|
||
|
||
## 环境变量覆盖
|
||
|
||
若同时存在配置文件和环境变量,**环境变量优先**。
|
||
|
||
---
|
||
|
||
## API Token 获取
|
||
|
||
1. 打开 https://id.atlassian.com/manage-profile/security/api-tokens
|
||
2. 使用 Jira 登录邮箱登录
|
||
3. 点击 “Create API token”,命名后复制
|
||
4. Token 只显示一次,请妥善保存
|
||
|
||
---
|
||
|
||
## 安全注意
|
||
|
||
- **不要将 `jira_upload.env` 提交到 Git**。技能目录下已通过 `.gitignore` 忽略。
|
||
- 不要将 `JIRA_API_TOKEN` 写入代码或提交到仓库。
|
||
- 定期在 Atlassian 账户中轮换 API Token。
|