1. 程式人生 > >禪道專案管理軟體API功能整合開發方法指南

禪道專案管理軟體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的說明資料,資料有限,也是維護不足。供參考。