本文详细介绍禅道系统中三种自定义字段的实现方式:后台可视化配置、数据库与代码扩展开发,以及基于工作流的动态行为绑定,帮助团队灵活扩展字段以满足实际管理需求。
当禅道系统的默认字段无法覆盖团队的实际业务场景时,例如测试用例缺少“优先级”标识、Bug记录缺少“发现阶段”信息、或任务缺乏“紧急程度”分类,便可通过系统内置的自定义功能为相应模块添加专属字段。以下是三种主流实现方案的具体操作指南。
一、后台可视化方式添加自定义字段
此方法无需编写代码或操作数据库,适合快速添加常规字段,全程通过图形界面完成,需由具备超级管理员权限的账户执行。
1. 使用超级管理员账号登录禅道系统,点击页面右上角的个人头像,从下拉菜单中选择“后台”进入管理控制台。
2. 在左侧导航栏中,点击“自定义”选项,进入自定义配置主界面。
3. 根据要扩展的对象类型,选择对应的子菜单:若需为缺陷添加字段,则点击“BUG”;若为测试用例扩展,则选择“用例”;若为任务补充字段,则点击“任务”。
4. 进入对应模块后,点击页面上的“新增字段”按钮,开始创建新字段。
5. 填写字段的基本属性,包括字段名称(如“发现阶段”)、字段类型(支持下拉框、单行文本、多行文本、日期、复选框等)、是否设置为必填项、是否在列表视图中展示、是否在编辑页面显示等选项。
6. 若选择了下拉框或复选框类型,需在“选项值”区域逐行输入每个可选值(例如:“需求评审阶段”、“开发阶段”、“测试阶段”、“上线后”),每行代表一个选项。
7. 完成配置后,点击“保存”按钮,新字段立即生效,后续新建或编辑该类型条目时,表单中将自动呈现该字段。
二、通过数据库与代码扩展实现深度自定义
该方式适用于需要与系统核心逻辑深度整合、或在报表统计、高级搜索、权限判断等环节参与运算的字段,要求操作者具备一定的PHP与MySQL开发能力,并建议通过扩展机制实现,以保护系统核心代码的稳定性。
1. 使用数据库管理工具(如phpMyAdmin或命令行终端)连接禅道所使用的MySQL数据库实例。
2. 执行ALTER TABLE语句为目标表添加新字段,例如为Bug模块增加“stage”字段,可使用如下SQL命令:ALTER TABLE `zt_bug` ADD COLUMN `stage` VARCHAR(30) DEFAULT ” AFTER `severity`;
3. 进入禅道系统的安装目录,找到对应模块的路径(如:zentaopms/module/bug/),在该目录下创建名为“ext”的子目录(如不存在)。
4. 在ext目录中新建“model.php”文件,重写save()方法,在数据保存前对新增字段(如stage)进行合法性校验与数据过滤处理。
5. 同样在ext目录下创建“view/edit.html.php”文件,复制原始编辑页面的内容,并在合适位置插入对应的HTML表单控件(如select下拉框),确保其能正确绑定并提交stage字段的值。
6. 在ext目录中创建“lang/zh-cn.php”语言文件,定义中文显示项,例如:‘stage’ => ‘发现阶段’, ‘stageList’ => array(‘需求评审阶段’ => ‘需求评审阶段’, ‘开发阶段’ => ‘开发阶段’);
7. 最后,清空禅道缓存目录(通常位于zentaopms/tmp/),刷新浏览器页面,检查新字段是否在编辑页、详情页及列表页中正确显示并能正常存取数据。
三、利用工作流实现字段智能联动
此方案可为自定义字段赋予自动化响应能力,例如当Bug的“优先级”被标记为“紧急”时,系统可自动发送邮件通知相关负责人、变更状态或触发特定处理流程。
1. 登录后台,依次进入“自定义” → “工作流” → “流程”,点击“新增流程”按钮。
2. 在“所属视图”下拉框中选择目标模块(如“Bug”),并在“名称”栏中输入流程名称(例如:“紧急Bug自动升级流程”)。
3. 切换到“字段”标签页,勾选已创建的自定义字段(如“优先级”),并设定触发条件(如:“等于 紧急”)。
4. 进入“动作”标签页,点击添加动作,选择“修改字段”,将“status”字段值设为“active”,同时将“assignedTo”指定给某个用户组或角色。
5. 在“设置提醒”标签页中,勾选需要接收通知的角色(如“开发负责人”、“测试负责人”),并开启邮件通知功能。
6. 完成配置后,点击“保存并启用”,该流程即刻生效,所有满足条件的记录将自动执行预设的操作逻辑。

