# gitee_issues **Repository Path**: yusq77/gitee_issues ## Basic Information - **Project Name**: gitee_issues - **Description**: 用与获取issue信息与分析issue响应 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-09-03 - **Last Updated**: 2025-09-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gitee Issues 导出工具 ## 工具简介 这是一个用于获取Gitee企业仓库中Issues信息的Python工具,支持按时间范围筛选、按推进人过滤,并能生成详细的统计报告和Excel导出功能。通过调用Gitee API,工具可以收集Issue的基本信息、响应状态、操作日志等数据,并进行结构化展示。 ## 功能特点 - 灵活的时间范围筛选(今日、昨日、自定义日期范围或全部) - 支持按推进人筛选特定范围的Issues - 自动判断Issue是否已响应 - 生成按推进人分类的响应统计报告 - 导出数据到Excel文件(包含详细列表和统计数据) - 多种控制台展示格式(表格、CSV、TSV) ## 环境要求 - Python 3.6+ - 依赖库:`requests`、`pandas`、`openpyxl` ## 安装依赖 ```bash pip install requests pandas openpyxl ``` ## 使用方法 ### 基本命令格式 ```bash python gitee_issues.py [企业名称] [访问令牌] [选项] ``` ### 必选参数 | 参数 | 说明 | |------|------| | `enterprise` | Gitee企业名称 | | `access_token` | Gitee API访问令牌(可在个人设置中生成) | ### 可选参数 | 参数 | 说明 | |------|------| | `-p, --pusher` | 指定推进人,多个以逗号分隔 | | `--all_issues` | 获取所有Issues,忽略时间范围 | | `--today` | 获取今天创建的Issues | | `--yesterday` | 获取昨天创建的Issues | | `--start` | 开始日期 (格式: YYYYMMDD) | | `--end` | 结束日期 (格式: YYYYMMDD) | | `--xlxs` | 导出数据到Excel文件 | | `--state` | 指定Issue状态(open/closed/all),默认all | | `--per_page` | 每页显示数量,默认50 | ### 示例 1. 获取指定企业(openkylin-enterprise)的所有Issues并导出到Excel ```bash python3 gitee_issues.py openkylin-enterprise my_token --all_issues --xlxs ``` 2. 获取昨天创建的Issues ```bash python3 gitee_issues.py openkylin-enterprise my_token --yesterday ``` 3. 获取指定日期范围内的Issues ```bash python3 gitee_issues.py openkylin-enterprise my_token --start 20230101 --end 20230131 ``` 4. 获取特定推进人的今日Issues ```bash python3 gitee_issues.py openkylin-enterprise my_token --today -p "张三,李四" ``` ``` liweinan@liweinan-pc:~/gitee_issues$ python3 gitee_issues.py openkylin-enterprise my_token(替换为你自己的token) --today 企业名称: openkylin-enterprise, 访问令牌: my_token 正在获取issues数据... 正在获取20250728T000000-20250728T235959的数据,第1页... 成功获取 1 条issues数据 正在提取issue基本信息... 正在分析推进人响应情况... 正在打印tissue统计数据到控制台... +-------+-----+----+-----+-----+ | 响应率 | 已响应 | 总计 | 推进人 | 未响应 | +-------+-----+----+-----+-----+ | 0.00% | 0 | 1 | 运营 | 1 | +-------+-----+----+-----+-----+ 正在打印issues数据到控制台... +----------+---------+--------+------------------------------+----------------------------------------------+----+-----+------------------+---------------------------+------+------+------+-----+------+--------+------+ | IssueID | Issue类型 | Number | Title | Url | 仓库 | 优先级 | 创建人 | 创建时间 | 完成时间 | 当前状态 | 截止时间 | 推进人 | 是否响应 | 计划开始时间 | 负责人 | +----------+---------+--------+------------------------------+----------------------------------------------+----+-----+------------------+---------------------------+------+------+------+-----+------+--------+------+ | 21334299 | 缺陷 | ICP9NF | 系统使用|笔记本电池都拔了还显示电池电量过低系统更新终止 | https://gitee.com/openkylin/qa/issues/ICP9NF | qa | 0 | openKylin CI Bot | 2025-07-28T15:33:08+08:00 | None | 待确认 | None | 运营 | 未响应 | None | None | +----------+---------+--------+------------------------------+----------------------------------------------+----+-----+------------------+---------------------------+------+------+------+-----+------+--------+------+ ``` ## 配置文件 工具支持通过配置文件指定仓库与推进人的映射关系,配置文件格式如下: 1. 创建`repo_map_pusher.ini`文件 2. 格式:`仓库名称 = 推进人名称` ```ini project1 = 张三 project2 = 李四 project3 = 王五 ``` ## 输出说明 ### Excel导出内容 导出的Excel文件包含两个工作表: - **推进人响应统计**:按推进人分类的已响应/未响应数量及响应率 - **Issue信息列表**:包含每个Issue的详细信息,包括ID、标题、创建时间、状态、优先级等 ### 控制台输出 默认以表格形式展示数据,包含以下关键信息: - Issue基本信息(ID、标题、URL等) - 创建与处理时间线 - 负责人与推进人 - 响应状态 - 优先级与当前状态 ## 注意事项 1. 访问令牌需要有足够的权限访问企业级Issues 2. API有调用频率限制,大量数据获取可能需要一定时间 3. 配置文件需与脚本在同一目录下,命名为`repo_map_pusher.ini` 4. 时间参数不能同时使用(--today、--yesterday、--start/--end、--all_issues 互斥) ## 常见问题 - **Q: 如何获取Gitee API访问令牌?** A: 登录Gitee后,进入"个人设置" → "安全设置" → "私人令牌",生成具有`projects`权限的令牌。 - **Q: 提示"请求失败,状态码403"怎么办?** A: 检查访问令牌是否有效,以及是否有访问该企业仓库的权限。 - **Q: 导出的Excel文件打不开?** A: 检查是否有足够的写入权限,以及文件是否被占用。尝试指定不同的文件名。