1. 禅道API开发手册
1.1  配置使用与常见问题
1.2  调用SDK示例
1.3. 部门相关接口
1.3.1  获取部门列表
1.3.2  批量添加部门
1.4. 用户相关接口
1.4.1  获得添加用户所用的参数列表
1.4.2  添加单个用户
1.4.3  获取用户列表
1.5. 产品相关接口
1.5.1  获取产品列表
1.5.2  添加单个产品可选信息
1.5.3  添加单个产品
1.6. 项目相关接口
1.6.1  获取项目列表
1.6.2  添加单个项目可选信息
1.6.3  添加单个项目
1.7. 任务相关接口
1.7.1  获取任务列表
1.7.2  添加单个任务可选信息
1.7.3  添加单个任务
1.7.4  完成单个任务可选信息
1.7.5  完成单个任务
1.8. bug相关接口
1.8.1  获取Bug列表
1.8.2  添加单个Bug可选信息
1.8.3  添加单个Bug
1.8.4  解决单个Bug可选信息
1.8.5  解决单个Bug
2. 禅道API文档v1
2.1. Token
2.1.1  获取Token
2.2. 部门
2.2.1  获取部门列表
2.2.2  获取部门详情
2.3. 用户
2.3.1  获取我的个人信息
2.3.2  获取用户列表
2.3.3  获取用户信息
2.3.4  修改用户信息
2.3.5  删除用户
2.3.6  创建用户
2.4. 项目集
2.4.1  获取项目集列表
2.4.2  修改项目集
2.4.3  获取项目集详情
2.4.4  删除项目集
2.4.5  创建项目集
2.5. 产品
2.5.1  获取产品列表
2.5.2  创建产品
2.5.3  获取产品详情
2.5.4  编辑产品
2.5.5  删除产品
2.6. 产品计划
2.6.1  获取产品计划列表
2.6.2  创建计划
2.6.3  获取计划详情
2.6.4  修改计划
2.6.5  删除计划
2.6.6  产品计划关联需求
2.6.7  产品计划取消关联需求
2.6.8  产品计划关联Bug
2.6.9  产品计划取消关联Bug
2.7. 发布
2.7.1  获取产品发布列表
2.7.2  获取项目发布列表
2.8. 需求
2.8.1  获取产品需求列表
2.8.2  获取项目需求列表
2.8.3  获取执行需求列表
2.8.4  创建需求
2.8.5  获取需求详情
2.8.6  变更需求
2.8.7  修改需求其他字段
2.8.8  删除需求
2.9. 项目
2.9.1  获取项目列表
2.9.2  创建项目
2.9.3  获取项目详情
2.9.4  修改项目
2.9.5  删除项目
2.10. 版本
2.10.1  获取项目版本列表
2.10.2  获取执行版本列表
2.10.3  创建版本
2.10.4  获取版本详情
2.10.5  修改版本
2.10.6  删除版本
2.11. 执行
2.11.1  获取项目的执行列表
2.11.2  创建执行
2.11.3  查看执行详情
2.11.4  修改执行
2.11.5  删除执行
2.12. 任务
2.12.1  获取执行任务列表
2.12.2  创建任务
2.12.3  获取任务详情
2.12.4  修改任务
2.12.5  删除任务
2.13. Bug
2.13.1  获取产品Bug列表
2.13.2  创建Bug
2.13.3  获取Bug详情
2.13.4  修改Bug
2.13.5  删除Bug
2.14. 用例
2.14.1  获取产品用例列表
2.14.2  创建用例
2.14.3  获取用例详情
2.14.4  修改用例
2.14.5  删除用例
2.14.6  执行用例
2.15. 测试单
2.15.1  获取测试单列表
2.15.2  获取项目的测试单
2.15.3  获取测试单详情
2.16. 反馈
2.16.1  创建反馈
2.16.2  指派反馈
2.16.3  关闭反馈
2.16.4  删除反馈
2.16.5  修改反馈
2.16.6  获取反馈详情
2.16.7  获取反馈列表
3. 定制开发
3.1  二次开发机制
3.2  禅道的目录结构
3.3  找到要修改的文件
3.4  禅道的数据库结构
3.5  公用模块--common
3.6  如何登记菜单
3.7  如何登记权限
3.8  示例:如何修改禅道的语言提示?
3.9  示例:创建bug时可以设置优先级字段
3.10  使用在线扩展编辑器
3.11  二次开发编辑器和翻译功能限制使用说明
3.12  禅道项目管理软件打包规范1.1版本

找到要修改的文件

2010-08-27 15:10:34
王春生
99159
最后编辑:雷勇 于 2020-02-19 16:43:02
分享链接
摘要:本篇文章讲述如何通过禅道的访问地址定位到代码,以便进行修改调试。

要想对禅道进行修改,就必须知道对应的代码在什么地方。在了解了禅道的目录结构之后,我们来看下禅道的请求是如何对应到代码的。

一、control方法的定位

control方法是每一个页面的入口,顺藤摸瓜,让我们先来看个例子: bug-browse-1.html 或者是/?m=bug&f=browse&productID=1&t=html。这里面有什么玄机呢?让我们来揭晓。

bug-browse-1.html,表示是访问 bug这个模块的 browse方法,传递的第一个参数为 1,访问的页面类型是 html
同样, /?m=bug&f=browse&productID=1&t=html, m代表了模块名称, f代表了方法名称,后面的则是参数列表。
那么我们就可以对应到禅道的源代码,module/bug/control.php中的browse方法:

二、control方法里面的调用

ok,我们现在已经知道了入口的函数在什么地方,我们来跟到里面看看吧。

$this->bug, 表示的是调用bug模块的model对象,那么它对应的文件在什么地方呢?聪明的你,应该已经猜到了吧。在 module/bug/model.php
this->loadmoel('tree')->xxx,表示加载tree模块的model对象,它对应的文件在module/tree/model.php
$this->app->loadClass('pager'),表示加载一个lib类,它对应的文件则在lib/pager/pager.class.php
$this->lang->bug->xxx,它的定义在module/bug/lang/zh-cn.php。后面的zh-cn根据当前用户的语言而定。

后来看模块文件。$this->display()之后,调用的是view目录下面和当前方法同名的模板文件。比如bug的browse方法,它对应的模板文件是module/bug/view/browse.html.php

评论列表
欧先生 2022-09-01 14:48:51
TABLE_EFFORT的“对象Id”字段的字段名称是什么?
高手们最好能告知我如何查。
我是“云禅道”的用户,没有大神们说的“后台-二次开发-数据词典”的入口。
王林 2022-09-01 14:50:47 回复
objectID对应对象id字段的
2022-08-18 17:19:52
你好,我想问下哪个模块下面是不校验登录的,可以提供给外部接口用
马超 2022-08-18 17:38:24 回复
禅道所有接口都需要校验登录,可以在禅道中创建一个用户用于调用接口。
元曦 2022-04-04 16:03:26
你好,如何跨控制器调用 如 我要在A模块下面的control里面的index方法里面调用B模块下面control里面的edit方法 是跨控制器调用不是跨model调用 求大神指导
于涛 2022-04-06 09:08:37 回复
您好,具体关于二次开发的问题您可以联系我们商务同事邀请您到二次开发交流群中沟通下。
roudancongji 2021-12-24 17:32:58
用户的密码,隔一天就不可以使用了,每次都要用管理员重置密码,这个问题有什么解决方案吗?
这个账户原来是没问题的,自从换了一个浏览器后就开始出现这个问题,
王林 2021-12-24 17:35:13 回复
1、确认下磁盘空间是不是满了
2、确认下用户是手动录入的密码么?还是通过浏览器记录的密码直接登录的?试试手动录入可以正常登录吗?
也可以添加下QQ2468103332,邀请进群后截图咨询下这个问题
袁元 2020-11-16 03:12:09
大佬,强烈建议增加一个 在新窗口批量打开BUG的功能哦,可以直线提升开发解决bug的速度

操作步骤,
1.批量勾选我的bug
2.底部编辑旁边增加个按钮,批量在新窗口打开
3.然后就可以开开心心的解决bug啦,解决一个关掉一个窗口,解决一个关一个,不亦乐乎
马超 2020-11-16 10:52:56 回复
我们记录一下,感谢建议。
小白 2020-10-28 10:35:42
我想知道zt_action表中action字段的值在哪可以找到对应的数据?
石洋洋 2020-10-28 17:18:04 回复
看一下 zentao/module/action/lang/zh-cn.php 中的定义。
test 2020-09-10 09:38:20
请问在我的地盘中的任务增加一列任务截止日期要改那个文件,谢谢
马超 2020-09-10 13:06:09 回复
可以加一下左上角的商务联系方式,商务邀请进群后我们发你一下修改后的文件。
日光下的苏打水 2020-08-02 16:33:39
如何给用户设置统一的界面区块?
禅道-Bee 2020-08-03 08:06:13 回复
用户只能设置自己的区块,目前没有全局设置功能;需要的话,可以二次开发实现下。
小林 2020-05-07 16:19:28
要对control.php, model.php, config.php进行二次开发该怎么做?直接复制到ext中并没有生效
马超 2020-05-07 17:21:41 回复
可以参考下二次开发相关手册
https://devel.easycorp.cn/book/extension/extend-control-37.html
neil 2019-06-11 12:52:17
$this->dao->findById($deptID)
这里的findById方法在哪里?
1/4 1 2 3 4
发表评论
评论通过审核后显示。