ZenTaoPMS/API机制介绍
来自站长百科
禅道项目管理通过底层的框架实现了灵活的API调用机制。通过禅道的API机制,大家就可以实现很多非常有意思的功能。下面我们以一个实际的例子来向大家展示禅道的API机制。
API机制介绍[ ]
- 禅道通过框架共实现了两种API机制。一种为直接的页面调用,一种通过超级model调用接口,直接调用model层的方法。
页面的调用[ ]
- 当你访问禅道的时候,将访问的url地址中的html换成json,看到的就是json格式的数据。
- 比如http://pms.zentao.cn/project-task-8.html,返回的网页格式,把后面的.html改成.json,返回的是什么?对了,返回的是json格式的数据。
- 如果是GET 方式,那么只需要将t参数改成json,http://pms.zentao.cn/?m=project&f=task&t=json.
超级model调用接口[ ]
- 页面的调用,存在一定的局限,比如返回的数据可能没有你想要的,或者返回了你不需要的数据。为此,我们特地准备了一个超级model调用接口。该接口的使用方式:
- 首先要为相应的帐号增加超级model调用接口的访问权限。
- 然后就可以通过api模块的getModel方法,获取任意模块的model的公开方法了。
- getModel方法需要三个参数,分别是模块名,方法名,然后是该方法的参数列表,key1=value1,key2=value2这种方式,多个参数之间用英文逗号隔开。
- 以调用bug模块的getUserBugPairs()方法为例:
- GET方式调用:
?m=api&f=getModel&module=bug&methodName=getUserBugPairs¶ms=account=$account #PATH_INFO方式:api-getmodel-bug-getUserBugPairs-account=$account.json
API调用步骤[ ]
禅道的API调用共分为三个步骤:
1、获得session。
- 首先要访问api模块的getSessionID方法,获得session。
GET方式:?m=api&f=getSessionID&t=json PATHINFO: api-getsessionid.json
返回的格式中包含sessionName和sessionID。在后续的访问中,必须以cookie的方式,或者GET方式,将session传递给服务器。
2、验证用户身份。
- 然后可以访问user模块的login方法,来进行用户身份的验证。
- 用户身份验证,需要提供用户名和密码,以post方式传递给user-login方法。
- 变量名为: account, password。
3、调用相应的API。
用户验证通过之后,就可以通过页面调用的api,或者超级model调用的api来获取相应的数据了。
实际例子请参考,http://zentaoms.googlecode.com/svn/trunk/bin/getbugs.php执行时,需要修改里面的相应参数。
参考来源[ ]
ZenTaoPMS使用手册导航 |
---|