现在许多人都在用phabricator,那么在用phabricator的同时,有没有想过对每一阶段的任务进行整理。明确每个人这一阶段的任务及任务种类个数。
相关接口可在conduit中进行查看,在这里我将描述一部分接口
接口一、通过父任务获取子任务
地址:/api/maniphest.info
传递参数:(post)
api.token:apitoken
task_id:任务号
返回结果
phids = text["result"]["dependsOnTaskPHIDs"]
for index in range(len(phids)):
data["phids["+str(index)+"]"] = phids[index]
这里,phids就是获取到的每个子任务的任务号
接口二、通过任务号获取到对应的任务详情
通过上一个接口获取到的data数据加上api.token作为post数据请求api/maniphest.info,获取到每个任务的任务详情
数据请求
def query_maniphest(self, phid):
params = {"api.token": self.token, 'phids[0]': phid}
return self.http_get("api/maniphest.query", params)
返回结果
result = oneText["result"]
userPhid = {"api.token": token}
projectPhid = {"api.token": token}
for value in result.values():
ownerPHID = value["ownerPHID"] #成员
projectPHIDs = value["projectPHIDs"] #标签
if ownerPHID not in userPhid.values() :
userPhid["phids["+str(len(userPhid))+"]"] = ownerPHID
for projectPHID in projectPHIDs:
if projectPHID not in projectPhid.values() :
projectPhid["phids["+str(len(projectPhid))+"]"] = projectPHID
接口三、通过ownerPHID获取用户姓名
def get_user_name(userPhid):
oneR = requests.post("***/api/user.query", userPhid)
oneText = json.loads(oneR.text)
result = oneText["result"]
data = []
for dic in result:
use = User()
use.phid = dic["phid"]
use.name = dic["realName"]
data.append(use)
return data
接口四、通过projectPHIDs获取标签描述
def get_project_info(phids):
response = requests.post("***/api/project.query", phids)
oneText = json.loads(response.text)
result = oneText["result"]["data"]
data = {}
for (key,value) in result.items():
name = value["name"]
phid = key
data[key] = name
return data
这样,你想进行怎样的统计就看你自己的需求了
网友评论