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