禪道專案管理軟體API功能整合開發方法指南
作為一款優秀的國產專案管理工具軟體,禪道提供了開源和商業版本。本文主要介紹基於禪道API介面完成登入認證、建立專案和工單任務的介面整合開發說明。
請自行從公開渠道獲取和安裝自己的禪道開發測試環境,因為這個工具軟體的安裝方法很簡單,所以這裡不做過多說明。
這裡主要使用Postman工具來模擬介面方法呼叫的測試行為,請從以下地址下載和安裝postman工具,https://www.getpostman.com/ 。
目錄
下面直接從禪道API介面開始介紹。
1、API介面模組與方法
在完成禪道系統的部署後,訪問網站的下面的路徑即可以開啟API方法使用說明的頁面,下面以我的測試環境為例。
http://192.168.81.7/zentao/dev-api-task.html
2、幾個介面方法的詳情說明
因為大家使用禪道做功能整合的意圖肯定是個性化的,下面只是以我使用到的幾個模組方法舉例。在需要定製開發特定的功能時,可以專門去調閱特定的禪道模組方法的詳細說明。
(1)建立一個任務的介面方法
GET/POST /zentao/task-create-[projectID]-[storyID]-[moduleID]-[taskID]-[todoID].json |
||
Create a task. |
||
引數列表 |
型別 |
描述 |
projectID |
int |
|
storyID |
int |
|
moduleID |
int |
|
taskID |
int |
|
todoID |
int |
注:projectID為必選項,其它引數為可選。
(2)檢視一個任務的介面方法
GET /zentao/task-view-[taskID].json |
||
View a task. |
||
引數列表 |
型別 |
描述 |
taskID |
int |
(3)使用者登入介面
GET/POST /zentao/user-login-[referer]-[from].json |
||
User login, identify him and authorize him. |
||
引數列表 |
型別 |
描述 |
referer |
string |
|
from |
string |
3、通過呼叫禪道API完成使用者登入認證的步驟說明
大體上,需要依次按照以下順序處理,獲取sessionid,登入認證,執行需要的介面呼叫,登出。
(1)獲取sessionid
GET方式
URL:http://192.168.81.7/zentao/api-getsessionid.json
{"status":"success","data":"{\"title\":\"\",\"sessionName\":\"zentaosid\",\"sessionID\":\"mfn6e7p8ptan851aum5l7fcao0\",\"rand\":3167,\"pager\":null}","md5":"a33b09eccf59b5e3e4e4759f0053f5bc"}
(2)使用拿到的sessinid登入
http://192.168.81.7/zentao/user-login.json?zentaosid=mfn6e7p8ptan851aum5l7fcao0
需要使用POST提交方式,提供account和password兩個資料。
(3)退出登入
http://192.168.81.7/zentao/user-logout.json
(4)檢視一個任務
GET方式
http://192.168.81.7/zentao/task-view-[taskID].json
(5)建立一個任務
/zentao/task-create-[projectID]-[storyID]-[moduleID]-[taskID]-[todoID].json
POST方式
http://192.168.81.7/zentao/task-create-1-1-3.json?zentaosid=mfn6e7p8ptan851aum5l7fcao0&t=json
projectID取值1,storyID取值為1,modeuleID取值3
(6)建立一個專案
(7)資料解析方法
當你訪問使用zentaoPHP開發的頁面時,將訪問的url地址中的html換成json,得到的就是json格式的資料。
比如http://192.168.81.7/zentao/task-view-37.html,返回的網頁格式,把後面的.html改成.json,返回的是什麼?對了,返回的是json格式的資料。
返回的資料是做了兩次json_encode,下面是做資料解析的程式碼示例:
$result = file_get_contents('http://pms.zentao.net/project-task-8.json');
$result = json_decode($($result);
if($result->result == 'success' and md5($result->data) == $result->md5)
{
$data = json_decode($result->data);
print_r($data);
}
先判斷第一層裡面的result是否正確,md5簽名是否正確,然後再對data物件進行json_decode。
參考資料:
禪道官網近期一直打不開,原因未知。在禪道開發團隊所屬公司網站上能找到下面這樣的一點關於禪道API的說明資料,資料有限,也是維護不足。供參考。