# gitlab-report **Repository Path**: devdz/gitlab-report ## Basic Information - **Project Name**: gitlab-report - **Description**: 软件项目团队的gitlab代码仓报告工具。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-15 - **Last Updated**: 2025-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gitlab-Report 开源的gitlab仓库审计工具,支持gitlab.com, gitlab.com.cn,等。 在本地部署的gitlab社区版系统经过有限的测试。 ## 使用方法: 1. 安装python3 2. 安装gitlab库:pip install gitlab 3. 运行gitlab_audit_report_csv.py,输入gitlab.com的token,输入项目ID,生成csv报告。 ## gitlab仓库审计的需求 使用 GitLab 工具的软件团队,其系统保存的数据能满足项目审计在以下方面的需求: - 项目进度与任务管理审计:通过提交记录、合并请求等时间戳信息,可了解项目开发的节奏和关键节点的时间,判断是否按计划推进。 - 代码质量与规范审计:借助代码审查记录、代码差异对比,能检查代码是否符合规范,是否存在质量问题和潜在风险。 - 团队协作与沟通审计:从提交者信息、讨论区留言等,可分析团队成员的参与度、协作情况以及沟通效率。 - 版本管理与变更审计:版本标签、提交历史等数据能清晰呈现软件版本的演进过程,以及每次变更的内容和相关责任人。 - 问题与缺陷管理审计:结合问题跟踪系统记录,可查看缺陷的发现、解决和关闭时间,评估缺陷管理的效果。 GitLab 的记录可以提供一些关于软件团队工作量的证据,但通常不能提供充分证据,具体分析如下: 可提供的证据 - 代码提交记录:能体现开发人员编写、修改代码的频次和规模,提交次数多、修改内容量大,一定程度上反映投入的工作量。 - 合并请求:展示了开发人员将自己的代码集成到主分支的过程,包括代码审查、讨论和修改等环节,其数量和复杂程度可作为工作量参考。 - 问题跟踪:开发人员在 GitLab 上对问题的创建、分配、更新和关闭等操作记录,能反映出解决问题所花费的精力。 不充分的原因 - 无法体现工作难度:简单的代码修改和复杂的功能实现可能在提交记录上表现相似,但工作量差异很大。比如,修复一个简单的语法错误和实现一个复杂的业务逻辑功能,提交次数可能相同,但实际投入的时间和精力不同。 - 不能反映沟通协作成本:软件开发中,团队成员间的沟通、协调及与其他部门的协作等占用大量时间,GitLab 记录难以体现这些工作量。如团队成员为确定某个功能的设计方案,可能进行多次会议讨论和沟通,但这些在 GitLab 中无法直接体现。 - 难以衡量非代码工作:软件项目中,需求分析、设计文档编写、测试用例设计等工作,在 GitLab 上没有直接记录。例如,需求分析阶段,团队成员花费大量时间与客户沟通、梳理需求,这些工作不会反映在 GitLab 的代码相关记录中。 - 存在个人工作习惯差异:不同开发人员工作习惯不同,有的习惯频繁提交小改动,有的则倾向于积累较多改动后再提交,仅从提交记录判断工作量会有偏差。