teambition.api.teams 源代码

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

from teambition.api.base import TeambitionAPI


[文档]class Teams(TeambitionAPI):
[文档] def get(self, id=None, organization_id=None, project_id=None): """ 获取团队 详情请参考 http://docs.teambition.com/wiki/teams#teams-get :param id: 可选,团队 ID :param organization_id: 可选,组织 ID :param project_id: 可选,项目 ID :return: 返回的 JSON 数据包 """ if id: endpoint = 'api/teams/{0}'.format(id) else: endpoint = 'api/teams' params = optionaldict( _organizationId=organization_id, _projectId=project_id ) return self._get(endpoint, params=params)
[文档] def create(self, name, organization_id=None): """ 新建团队 详情请参考 http://docs.teambition.com/wiki/teams#teams-create :param name: 团队名称 :param organization_id: 可选,组织ID :return: 返回的 JSON 数据包 """ data = optionaldict( name=name, _organizationId=organization_id ) return self._post( 'api/teams', data=data )
[文档] def delete(self, id): """ 删除团队 详情请参考 http://docs.teambition.com/wiki/teams#teams-delete :param id: 团队 ID :return: 返回的 JSON 数据包 """ return self._delete('api/teams/{0}'.format(id))
[文档] def update(self, id, name): """ 更新团队 详情请参考 http://docs.teambition.com/wiki/teams#teams-update :param id: 团队 ID :param name: 团队名称 """ return self._put( 'api/teams/{0}'.format(id), data={ 'name': name } )
[文档] def bind_project(self, id, project_id): """ 关联团队与项目 详情请参考 http://docs.teambition.com/wiki/teams#teams-bind-project :param id: 团队 ID :param project_id: 项目 ID :return: 返回的 JSON 数据包 """ return self._put('api/teams/{0}/projects/{1}'.format(id, project_id))
[文档] def unbind_project(self, id, project_id): """ 取消关联团队与项目 详情请参考 http://docs.teambition.com/wiki/teams#teams-unbind-project :param id: 团队 ID :param project_id: 项目 ID :return: 返回的 JSON 数据包 """ return self._delete( 'api/teams/{0}/projects/{1}'.format(id, project_id) )
[文档] def add_members(self, id, email): """ 添加团队成员 详情请参考 http://docs.teambition.com/wiki/teams#teams-add-member :param id: 团队 ID :param email: 邮箱或邮箱列表 :return: 返回的 JSON 数据包 """ return self._post( 'api/teams/{0}/members'.format(id), data={ 'email': email } )
create_members = add_members
[文档] def remove_member(self, id, user_id): """ 删除团队成员 详情请参考 http://docs.teambition.com/wiki/teams#teams-remove-member :param id: 团队 ID :param user_id: 成员 ID :return: 返回的 JSON 数据包 """ return self._delete( 'api/teams/{0}/members/{1}'.format(id, user_id) )
[文档] def get_members(self, id, user_id=None): """ 获取团队成员 详情请参考 http://docs.teambition.com/wiki/teams#teams-get-member :param id: 团队 ID :param user_id: 可选,用户 ID :return: 返回的 JSON 数据包 """ if user_id: endpoint = 'api/teams/{0}/members/{1}'.format(id, user_id) else: endpoint = 'api/teams/{0}/members'.format(id) return self._get(endpoint)
[文档] def quit(self, id): """ 退出团队 详情请参考 http://docs.teambition.com/wiki/teams#teams-quit :param id: 团队 ID :return: 返回的 JSON 数据包 """ return self._put('api/teams/{0}/quit'.format(id))
[文档] def get_memeber_tasks(self, id, member_id, start_date=None): """ 获取团队成员任务 详情请参考 http://docs.teambition.com/wiki/teams#teams-get-team-member-tasks :param id: 团队 ID :param member_id: 成员 ID :param start_date: 可选,起始日期,默认为当周的起始日期 :return: 返回的 JSON 数据包 """ params = optionaldict(startDate=start_date) return self._get( 'api/teams/{0}/members/{1}/tasks'.format(id, member_id), params=params )
[文档] def get_member_events(self, id, member_id, start_date=None): """ 获取团队成员日程 详情请参考 http://docs.teambition.com/wiki/teams#teams-get-team-member-events :param id: 团队 ID :param member_id: 成员 ID :param start_date: 可选,起始日期,默认为当周的起始日期 :return: 返回的 JSON 数据包 """ params = optionaldict(startDate=start_date) return self._get( 'api/teams/{0}/members/{1}/events'.format(id, member_id), params=params )
[文档] def get_tasks(self, id, start_date=None): """ 获取团队周任务 详情请参考 http://docs.teambition.com/wiki/teams#teams-get-team-week-tasks :param id: 团队 ID :param start_date: 可选,起始日期,默认为当周的起始日期 :return: 返回的 JSON 数据包 """ params = optionaldict(startDate=start_date) return self._get( 'api/teams/{0}/tasks'.format(id), params=params )
[文档] def get_events(self, id, start_date=None): """ 获取团队周日程 详情请参考 http://docs.teambition.com/wiki/teams#teams-get-team-week-events :param id: 团队 ID :param start_date: 可选,起始日期,默认为当周的起始日期 :return: 返回的 JSON 数据包 """ params = optionaldict(startDate=start_date) return self._get( 'api/teams/{0}/events'.format(id), params=params )