禅道支持通过三种方式自定义字段:一、后台“自定义”菜单配置标准字段;二、数据库与代码扩展实现深度集成;三、工作流机制绑定动态行为逻辑。

如果您在禅道中发现默认字段无法满足团队实际管理需求,例如测试用例缺少“优先级”、Bug缺少“发现阶段”、任务缺少“紧急程度”等,则需要通过系统提供的自定义机制为对应模块添加专属字段。以下是具体操作步骤:
一、通过后台“自定义”菜单配置字段
该方法无需修改代码或数据库,适用于大多数标准字段增补场景,所有操作均在Web界面完成,由超级管理员权限执行。
1、使用超级管理员账号登录禅道系统,点击右上角头像,选择“后台”。
2、在左侧菜单栏中,点击自定义,进入自定义设置总入口。
3、根据目标对象类型,点击对应子项:例如需为Bug添加字段,则点击BUG;需为测试用例添加,则点击用例;需为任务添加,则点击任务。
4、在打开的页面中,点击新增字段按钮。
5、填写字段基本信息:输入字段名称(如“发现阶段”)、字段类型(下拉框/单行文本/多行文本/日期/复选框等)、是否必填、是否在列表页显示、是否在编辑页显示。
6、若选择下拉框或复选框类型,需在“选项值”中逐行填写可选内容(如“需求评审阶段”、“开发阶段”、“测试阶段”、“上线后”),每行一个选项。
7、点击保存,字段即刻生效,所有新建及编辑该类型对象的表单中将自动出现该字段。
二、通过数据库与代码扩展实现高级自定义
该方法适用于需与现有业务逻辑深度集成、或需在报表、搜索、权限控制等环节参与计算的字段,要求具备PHP和MySQL基础,且必须在ext扩展目录中实施,避免污染核心代码。
1、使用数据库管理工具(如phpMyAdmin或命令行)连接禅道所用MySQL实例。
2、执行ALTER TABLE语句为对应数据表添加新字段,例如为Bug模块添加stage字段: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文件,复制原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、点击保存并启用,该流程即刻生效,所有符合触发条件的记录将自动执行预设动作。

















