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.2.3  获取用户信息
2.2.4  修改用户信息
2.2.5  删除用户
2.2.6  创建用户
2.3. 项目集
2.3.1  获取项目集列表
2.3.2  修改项目集
2.3.3  获取项目集详情
2.3.4  删除项目集
2.3.5  创建项目集
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.5.6  产品计划关联需求
2.5.7  产品计划取消关联需求
2.5.8  产品计划关联Bug
2.5.9  产品计划取消关联Bug
2.6. 发布
2.6.1  获取产品发布列表
2.6.2  获取项目发布列表
2.7. 需求
2.7.1  获取产品需求列表
2.7.2  获取项目需求列表
2.7.3  获取执行需求列表
2.7.4  创建需求
2.7.5  获取需求详情
2.7.6  变更需求
2.7.7  修改需求其他字段
2.7.8  删除需求
2.8. 项目
2.8.1  获取项目列表
2.8.2  创建项目
2.8.3  获取项目详情
2.8.4  修改项目
2.8.5  删除项目
2.9. 版本
2.9.1  获取项目版本列表
2.9.2  获取执行版本列表
2.9.3  创建版本
2.9.4  获取版本详情
2.9.5  修改版本
2.9.6  删除版本
2.10. 执行
2.10.1  获取项目的执行列表
2.10.2  创建执行
2.10.3  查看执行详情
2.10.4  修改执行
2.10.5  删除执行
2.11. 任务
2.11.1  获取执行任务列表
2.11.2  创建任务
2.11.3  获取任务详情
2.11.4  修改任务
2.11.5  删除任务
2.12. Bug
2.12.1  获取产品Bug列表
2.12.2  创建Bug
2.12.3  获取Bug详情
2.12.4  修改Bug
2.12.5  删除Bug
2.13. 用例
2.13.1  获取产品用例列表
2.13.2  创建用例
2.13.3  获取用例详情
2.13.4  修改用例
2.13.5  删除用例
2.14. 测试单
2.14.1  获取测试单列表
2.14.2  获取项目的测试单
2.14.3  获取测试单详情
2.15. 反馈
2.15.1  创建反馈
2.15.2  指派反馈
2.15.3  关闭反馈
2.15.4  删除反馈
2.15.5  修改反馈
2.15.6  获取反馈详情
2.15.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版本

配置使用与常见问题

2020-03-01 21:40:48
雷勇
49173
最后编辑:刘振华 于 2022-09-20 23:29:54
分享链接
摘要:本篇将介绍如何在PHP编程语言中集成与使用此SDK,只需要简单的进行配置和引用便可使用。

一、配置参数

禅道 PHP-SDK 在开源版 12.0.1 版本之后新增到禅道框架目录中,禅道 PHP-SDK 文件位于【禅道 项目目录/sdk/php/ 】下。使用 SDK (zentao.php)文件之前,需要在引用的禅道 SDK 文件中填写一些必要配置信息。禅道安装部署的域名、禅道用户账户、禅道用户密码、禅道配置的参数请求方式。

const ztUrl        = 'http://zentao.*****.com';    // 禅道部署域名
const ztAccount    = 'admin';                      // 禅道登录账户
const ztPassword   = '123456';                     // 禅道登录密码
const ztAccessMode = 'PATH_INFO';                  // 禅道参数请求方式[ GET | PATH_INFO ]


二、禅道SDK可用API列表

  • 获取部门列表
  • 批量添加部门
  • 获取用户列表
  • 添加单个用户可选信息
  • 添加单个用户
  • 获取产品列表
  • 添加单个产品可选信息
  • 添加单个产品
  • 获取项目列表
  • 添加单个项目可选信息
  • 添加单个项目
  • 获取任务列表
  • 添加单个任务可选信息
  • 添加单个任务
  • 完成单个任务可选信息
  • 完成单个任务
  • 获取Bug列表
  • 添加单个Bug可选信息
  • 添加单个Bug
  • 解决单个Bug可选信息
  • 解决单个Bug

三、使用说明与示例

 3.1使用说明

在使用前,确保配置的相关信息填写无误,同时确保登录账户有足够的权限以及登录账户无需进行弱密码重置。所有请求的 API 结果都以 JSON 格式返回,可以根据请求结果中的 status 状态来判断是否请求成功,如果请求失败,部分 API 会给出相应的提示。在请求 API 的过程中,以 【获取部门列表】 举例,$params 包含了可传的请求参数,可以为空数组,传参中无需必填参数时可不传递此变量。$extraFields 自定义返回字段,可以根据所需字段结果,进行返回,可自定义字段不限于示例中的字段,此变量可以不传。

 3.2使用示例

以下将以 zentaoPHP 框架中引用作为示例,将 SDK 文件放置在框架目录 tools/zentao/ 下。其它主流框架,如 ThinkPHP、Laravel 等可根据实际需求放置框架目录中,存放目录尽量遵守框架规范。

/**
 * 获取部门列表
 * 
 * @access public
 * @return void
 */
public function getDeptList()
{
    include_once('../../tools/zentao/zentao.php');
    $zentao      = new zentao();    // 实例化类,如果实例化错误,可修改为 "\new zentao();"
    $params      = array('deptID' => 1);    // 请求参数
    $extraFields = array('title', 'deptID', 'parentDepts', 'sons', 'tree');    // 自定义返回字段
    $result      = $zentao->getDeptList($params, $extraFields);    // 调用SDK方法
    echo $result;
}

四、常见问题?

 4.1调用禅道 SDK 类中方法,出现错误提示 "Trying to get property of non-object" ?

通常由以下情况造成,开发者可以打印输出 SDK 中请求结果 $result 查看返回信息以此查看原因。

  • 第一种情况,需要修改密码。 解决方案: 登录后台管理系统,找到 后台->安全->密码安全设置 关闭密码检查、关闭强制修改弱密码、关闭强制首次登录修改密码
<html><meta charset='utf-8'/>
<style>body{background:white}</style>
<script>self.location='/index.php?m=my&f=changepassword&t=json';</script>
  • 第二种情况,没有操作权限。 解决方案:  登录后台管理系统,给该账号设置相关权限。
<html><meta charset='utf-8'/>
<style>body{background:white}</style>
<script>self.location='/index.php?m=user&f=deny&t=json&module=dept&method=browse';</script>
  • 第三种情况,缺失参数。 解决方案:  在 API 列表  中找到对应方法,检查所传参数是否与文档列表中的参数相符。

4.2 调用禅道 SDK 类中方法,出现错误提示 " Fatal error : Uncaught Error: Call to undefined function curl_init()  "?

这个是由于当前 PHP 缺失了 curl 的扩展,安装这个 PHP 扩展即可恢复正常使用。

评论列表
yiyi 2022-03-07 17:21:26
请问提交测试单后发送的邮件功能,没有找到相关的代码逻辑,是怎么实现的?
王林 2022-03-07 17:25:18 回复
二次开发参考文档:
http://www.zentao.net/book/zentaopmshelp/156.html
http://www.zentao.net/book/zentaopmshelp/225.html
可以看下上面文档,定位下具体代码的相关位置呢
孟欣 2022-02-12 20:36:59
您好, 请问以下操作对应的接口是哪个

1. 遍历指定测试单下所有的测试用例,
比如测试单: https://xxxx.com/index.php?m=testtask&f=cases&taskID=55 下关联有若干待执行的测试用例,哪个API可以获取到这个测试单下 所有的测试用例信息
2.读取测试用例中制定的字段,
3.更新测试单中测试用例执行结果 比如执行完成后, 更新测试单下的测试用例的状态, PASS 或者FAILED

谢谢

王林 2022-02-14 10:27:32 回复
1、3、可以看下后台-二次开发-api中的接口进行调用。
调用方式:https://devel.easycorp.cn/book/extension/api-auth-44.html
2、可以直接获取用例所有字段信息,然后通过字段名判断需要获取的信息
吴昊 2021-08-25 09:25:02
请问下修改用户接口user-edit如何使用。只传user-id只能查,怎么才能修改用户权限呢。
马超 2021-08-25 17:11:49 回复
可以登录禅道中打开编辑用户页面,打开F12 -Network 中form-Data 中查看一下编辑页面需要的传参,可以按照form-Data中进行传参。
其中verifyPassword 参数生成逻辑 md5(md5(password) . rand),password 是指当前用户登录密码,rand 通过get页面可以获取到。
如果还有其他疑问, 可以加一下左上角的商务联系方式,商务邀请进群后沟通。
王先生 2021-08-09 14:28:04
你好,调用禅道接口 http://182.92.174.205:8080/zentao/productplan-view-33.json 查询产品计划详情 返回的数据库 data为false 是怎么回事呢?
王林 2021-08-09 16:11:14 回复
这里我们记录下bug,谢谢反馈
张三丰 2020-09-09 17:34:42
产品支持新增需求api提交吗?文档中没有
石洋洋 2020-09-10 09:06:26 回复
支持的。api可以查看“后台-二次开发-api”中的介绍,api的调用可以参考:https://www.zentao.net/book/zentaopmshelp/integration-287.html
devin 2020-07-02 17:36:12
请问如何调用的这个脚本呢?使用工具还是脚本,能给个实例么,谢谢!
/**
* 获取部门列表
*
* @access public
* @return void
*/
public function getDeptList()
{
include_once('../../tools/zentao/zentao.php');
$zentao = new zentao(); // 实例化类,如果实例化错误,可修改为 "\new zentao();"
$params = array('deptID' => 1); // 请求参数
$extraFields = array('title', 'deptID', 'parentDepts', 'sons', 'tree'); // 自定义返回字段
$result = $zentao->getDeptList($params, $extraFields); // 调用SDK方法
echo $result;
}
张玉洁 2020-07-02 17:40:06 回复
可以参考手册中的具体示例使用试一下http://www.zentao.net/book/api/department-list-370.html
如果还是不太清楚,可以添加网页上方QQ,邀请进入二次开发群,方便进一步交流。
潘彦宇 2020-04-23 14:59:14
禅道开源版12.3 使用postman调用/zentao/testcase-create-36.json?zentaosid=jhg8l63csjjbed3om9pamvmbg4
参数如下:
product:36
title:通讯分闸状态-分闸叶片失效
precondition:自动模式
type:feature
steps:1.分闸叶片短路-上电,2.合闸叶片短路-上电


创建成功了 但是步骤是空的 请问步骤(steps)要怎么写呢
禅道 - 闫敏 2020-04-23 15:34:21 回复
f12 看下禅道上传用例的链接参数,结合禅道后台 - 二次开发 - API 看下
steps[1]: 202004231
stepType[1]: item
expects[1]:
steps[2]: 202004232
stepType[2]: item
expects[2]:
steps[3]:
stepType[3]: item
晋志才 2020-04-21 11:54:11
禅道专业版 8.5.3使用postman掉接口总是跳转到下面HTML
<html>
<meta charset='utf-8' />
<style>
body {
background: white
}
</style>
<script>
self.location='/index.php?m=user&f=login&t=json&referer=L2luZGV4LnBocD90PWpzb24mbT1pbmRleCZmPWluZGV4';

</script>



然后才能使用给出的self.location='/index.php?m=user&f=login&t=json&referer=L2luZGV4LnBocD90PWpzb24mbT1pbmRleCZmPWluZGV4';
信息请求得到数据,看配置使用常见问题,添加了权限,也是这种情况,请问有方法跳过第一步直接一步得到数据吗
石洋洋 2020-04-21 13:29:10 回复
最新版本12.0.1+ 支持新的api接口调用的,可以参考 http://www.zentao.net/book/api/setting-369.html
1/1 1
发表评论
评论通过审核后显示。