

- 1. 禅道介绍
- 1.1 关于禅道项目管理软件
- 1.2 如何获得支持
- 1.3 各版本功能差异
- 1.4 关注我们
- 2. 安装禅道
- 2.1. 环境搭建
- 2.1.1 搭建Ubuntu环境安装禅道
- 2.1.2 搭建Centos环境安装禅道
- 2.1.3 安装PHP的ioncube扩展
- 2.2. 安装禅道
- 2.2.1 选择适合您的安装方法
- 2.2.2 新版本禅道的安装升级
- 2.2.3 Windows一键安装包(新版)
- 2.2.4 Windows一键安装包(旧版)
- 2.2.5 linux用一键安装包(推荐)
- 2.2.6 使用源码包安装(各系统通用)
- 2.2.7 使用源码包安装(MAC系统)
- 2.2.8 基于禅道当前的一键安装包(Windows和Linux)如何源码安装旗舰版禅道
- 2.2.9 渠成命令行安装禅道
- 2.2.10 Docker和Kubernetes方式部署禅道
- 2.3 安装PHP的LDAP扩展
- 2.4 在线安装云禅道
- 2.5 安装 APCu扩展
- 2.6 安装DuckDB引擎
- 2.1. 环境搭建
- 3. 升级禅道
- 3.1. 升级禅道新版本
- 3.1.1 选择和自己环境对应的升级方式
- 3.1.2 通过源代码方式升级(通用)
- 3.1.3 windows一键安装包的升级
- 3.1.4 linux一键安装包升级
- 3.1.5 docker安装禅道-升级禅道
- 3.1.6 旧版Docker镜像升级说明
- 3.1.7 通过Roadrunner管理定时任务
- 3.2 如何安装ioncube扩展
- 3.1. 升级禅道新版本
- 4. 维护配置
- 4.1. 维护禅道
- 4.1.1 初始化管理脚本
- 4.1.2 备份禅道
- 4.1.3 恢复删除的资源
- 4.1.4 如何更新燃尽图
- 4.1.5 一键安装包如何实现mysql异机连接
- 4.1.6 linux一键安装包配置https
- 4.1.7 禅道一键安装包迁移/更新禅道一键安装包
- 4.2. 配置禅道
- 4.2.1 设置是否允许匿名访问
- 4.2.2 如何配置email发信
- 4.2.3 如何成为超级管理员
- 4.2.4 配置禅道系统为静态访问
- 4.2.5 去掉禅道访问地址中的zentao
- 4.2.6 linux一键安装包去掉禅道访问地址中的zentao
- 4.2.7 集成禅道和svn
- 4.2.8 集成禅道和git
- 4.2.9 在第三方应用中集成禅道
- 4.2.10 第三方应用配置免密登录禅道
- 4.2.11 第三方应用集成禅道客户端进行消息通知
- 4.2.12 集成webhook
- 4.2.13 集成ZDOO
- 4.2.14 客户端集成
- 4.2.15 浏览器通知的设置
- 4.2.16 集成钉钉工作消息通知
- 4.2.17 集成企业微信应用消息通知
- 4.2.18 集成企业微信群机器人
- 4.2.19 集成飞书群机器人
- 4.2.20 集成飞书消息通知
- 4.2.21 解决一键安装包密码口令弱的问题
- 4.3. 性能优化
- 4.3.1 nginx反向代理禅道502或504bad gateway错误
- 4.3.2 linux系统中配置session使用redis
- 4.3.3 缓存功能
- 4.1. 维护禅道
- 5. 快速入门
- 5.1. 新版本快速入门
- 5.1.1 20版本禅道的新增功能
- 5.1.2 新版本禅道的最简使用
- 5.1.3 20版本禅道的界面变化
- 5.1. 新版本快速入门
- 6. 按照角色使用
- 6.1. 管理员
- 6.2. 项目集负责人
- 6.3. 产品经理
- 6.4. 项目经理
- 6.5. 研发人员
- 6.5.1 参加产品计划会议,分解任务
- 6.5.2 领取任务,并每天更新任务
- 6.5.3 创建构建,提交测试
- 6.5.4 确认Bug,解决Bug
- 6.5.5 执行的综合、需求、Bug、任务看板
- 6.6. 测试人员
- 7. 功能介绍
- 7.1. 核心管理结构
- 7.1.1 项目集(Program)
- 7.1.2 项目(Project)
- 7.1.3 产品(Product)
- 7.1.4 执行(Execution)
- 7.1.5 管理模型
- 7.2. 地盘
- 7.3. 项目集
- 7.4. 产品
- 7.4.1 创建产品
- 7.4.2 维护模块
- 7.4.3 产品多分支/平台管理
- 7.4.4 维护计划
- 7.4.5 维护需求
- 7.4.6 需求的评审
- 7.4.7 创建发布
- 7.4.8 跟踪进度
- 7.4.9 业务需求&需求多层级
- 7.5. 项目
- 7.6. 执行
- 7.6.1 参加产品计划会议,分解任务
- 7.6.2 领取任务,并每天更新任务
- 7.6.3 创建构建,提交测试
- 7.6.4 确认Bug,解决Bug
- 7.6.5 执行的综合、需求、Bug、任务看板
- 7.7. 测试
- 7.8. 自动化测试
- 7.9 DevOps(解决方案)
- 7.10. 文档
- 7.11. AI
- 7.11.1 AI小程序简介
- 7.11.2 创建与设计AI小程序
- 7.11.3 发布与禁用小程序
- 7.11.4 调试AI小程序
- 7.11.5 前台小程序的应用
- 7.11.6 AI小程序的导入导出
- 7.11.7 管理AI小程序权限
- 7.12. BI
- 7.12.1 维度(企业版8.4+)
- 7.12.2 大屏(企业版8.4+)
- 7.12.3 透视表
- 7.12.4 透视表下钻
- 7.12.5 图表
- 7.12.6. 度量项
- 7.12.6.1 查看度量项
- 7.13. 反馈
- 7.14. 看板
- 7.14.1 通用看板功能
- 7.15. 工作流
- 7.16. 学堂
- 7.17. 资产库(旗舰版)
- 7.17.1 资产库管理(旗舰版)
- 7.18. 组织
- 7.18.1 团队成员和工作信息
- 7.18.2 人力资源日历(需安装插件)
- 7.18.3 组织动态
- 7.18.4 公司信息
- 7.19. 办公
- 7.20. 后台设置
- 7.20.1 后台首页
- 7.20.2. 系统设置
- 7.20.3 功能开关
- 7.20.4. 人员管理
- 7.20.5. 模型配置
- 7.20.6. 功能配置
- 7.20.7 文档模板
- 7.20.8. 通知设置
- 7.20.9 插件管理
- 7.20.10 二次开发
- 7.20.11 数据导入
- 7.20.12. 权限维护和控制
- 7.20.12.1 项目集的权限维护和访问控制
- 7.20.12.2 产品的权限维护和访问控制
- 7.20.12.3 项目的权限维护和访问控制
- 7.20.12.4 执行的权限维护和访问控制
- 7.20.12.5 项目和执行的访问控制和数据关系
- 7.20.13. AI配置
- 7.20.14. DevOps设置
- 7.20.14.1. 资源
- 7.21. 客户端增强版会议SRS
- 7.21.1. 音视频会议配置
- 7.21.1.1 安装音视频服务端
- 7.21.1.2 安装SRS音视频服务端
- 7.21.1.3 开启和配置音视频功能
- 7.21.2. 发起会议
- 7.21.2.1 一对一会话中发起音视频会议
- 7.21.2.2 群组会话中发起音视频会议
- 7.21.2.3 独立发起音视频会议入口
- 7.21.3. 加入会议
- 7.21.3.1 分享音视频会议到会话
- 7.21.3.2 通过会议的ID加入会议
- 7.21.4. 预约会议
- 7.21.4.1 预约会议
- 7.21.5. 会议应用
- 7.21.5.1 音视频会议应用
- 7.21.1. 音视频会议配置
- 7.22. 客户端增强版会议Jitsi
- 7.1. 核心管理结构
- 8. 其他相关
- 9. IPD版本功能介绍
- 9.1. 禅道IPD版介绍
- 9.1.1 关于禅道IPD版
- 9.1.2 禅道IPD版的核心流程
- 9.2. IPD版的安装和升级
- 9.2.1 选择适合您的安装方法
- 9.2.2 选择适合您的升级方法
- 9.3. 需求与市场管理界面
- 9.4. IPD研发管理界面
- 9.1. 禅道IPD版介绍
在第三方应用中集成禅道 分享链接 /book/zentaopms/integration-287.html?releaseID=17
禅道从9.6版本开始内置了在第三方应用中集成禅道的功能,可以方便的将禅道的数据和第三方应用打通。第三方应用必须以 GET 方式访问禅道,禅道以 JSON 格式返回数据。下面我们介绍如何配置该功能。
一、配置
用超级管理员用户登录禅道,进入 后台--二次开发--应用,点击【添加应用】按钮新增一个应用,如图:
18系列及以上版本在 后台--二次开发--接入禅道 页面中操作
注意:
1、应用名称、应用代号、密钥是必填项,代号只能为字母或数字的组合,密钥由系统自动生成。
2、IP 和描述为选填项。此处的 IP 是一个白名单,默认没有限制所有 IP 都可以访问。
3、和别的系统相互调用数据,免密登录必须是关闭状态。
二、签名机制
第三方应用在请求禅道数据的时候需要做签名验证,API 的请求格式为 /api.php?m=moduleName&f=methodName¶ms=params&code=code&time=timestamp&token=token。
m=moduleName&f=methodName¶ms=params 部分为数据请求参数,根据实际的需求进行设置。
code为应用代号,需要和禅道应用设置中保持一致。
time位时间戳,可以通过PHP的time函数得到。
token为数字签名,其算法为:code、密钥、time字符串合并,再进行 md5。
以上图设置的应用为例,应用代号为 myApp,密钥为 427c579384224abf9570779d82969d1e,请求id为1的项目详情,其 token 计算过程如下:
$code = 'myApp'; $key = '427c579384224abf9570779d82969d1e'; $time = '1557034496'; $token = md5($code . $key . $time);
算得 token = 020ec7c33a7f1a048743849d15fb218a,请求 API 为 /api.php?m=project&f=view&id=1&code=myApp&time=1557034496&token=020ec7c33a7f1a048743849d15fb218a。
注意:时间戳只能用一次,下次请求的时间戳必须大于该时间戳。
三、全局错误码
300001 缺少 code 参数,检查请求 API 中是否包含 code 参数。
300002 缺少 token 参数,检查请求 API 中是否包含 token 参数。
310001 应用不存在, 检查请求的应用在禅道中是否存在,或是否已被删除。
310002 应用未设置密钥,检查请求的应用在禅道中是否设置密钥。
320001 该IP访问被限制访问,检查请求的应用在禅道中的 IP 设置。
330001 不合法的token参数,检查请求 API 中的 token 是否计算正确。
有时会出现请求内跳转的情况,如请求 index 模块的 index 方法时默认会跳转到 my 模块的 index 方法,这时系统通过 session 来验证跳转后的请求是否合法。
340001 缺少session code,检查跳转后 $_SESSION['ENTRY_CODE'] 是否正确。
340002 session验证失败,检查 session 验证逻辑,检查跳转后 $_SERVER['REMOTE_ADDR'] 是否正确。