teambition.api.stages 源代码

# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from optionaldict import optionaldict

from teambition.api.base import TeambitionAPI


[文档]class Stages(TeambitionAPI):
[文档] def get(self, tasklist_id): """ 获取任务分组的阶段列表 详情请参考 http://docs.teambition.com/wiki/stages#stages-get :param tasklist_id: 任务分组 ID :return: 返回的 JSON 数据包 """ return self._get( 'api/stages', params={ '_tasklistId': tasklist_id } )
[文档] def create(self, name, tasklist_id, prev_id): """ 新建阶段 详情请参考 http://docs.teambition.com/wiki/stages#stages-create :param name: 阶段名称 :param tasklist_id: 任务分组 ID :param prev_id: 前一个阶段的 ID :return: 返回的 JSON 数据包 """ return self._post( 'api/stages', data={ 'name': name, '_tasklistId': tasklist_id, '_prevId': prev_id } )
[文档] def delete(self, id): """ 删除阶段(流程模式下,最后一个阶段无法被删除) 详情请参考 http://docs.teambition.com/wiki/stages#stages-delete :param id: 阶段 ID :return: 返回的 JSON 数据包 """ return self._delete('api/stages/{0}'.format(id))
[文档] def update(self, id, name=None, is_locked=None): """ 更新阶段 详情请参考 http://docs.teambition.com/wiki/stages#stages-update :param id: 阶段 ID :param name: 阶段名称 :param is_locked: 锁定最后一个阶段 """ data = optionaldict( name=name, isLocked=is_locked ) return self._put( 'api/stages/{0}'.format(id), data=data )
[文档] def get_tasks(self, id, executor_id=None, is_done=False, all=False, page=1, limit=30, **kwargs): """ 获取阶段下得任务列表 详情请参考 http://docs.teambition.com/wiki/stages#stages-get-tasks :param id: 阶段 ID :param executor_id: 可选,执行者 ID :param is_done: 可选,是否已完成,默认为 False :param all: 可选,所有类型,包括完成与未完成 :param page: 可选,页码,默认为 1 :param limit: 可选,每页数量,默认为 30,最大值为 1000 :return: 返回的 JSON 数据包 """ params = optionaldict( isDone=is_done, _executorId=executor_id, all=all, page=page, limit=limit, **kwargs ) return self._get( 'api/stages/{0}/tasks'.format(id), params=params )