summaryrefslogtreecommitdiff
path: root/scripts/kanboard.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kanboard.py')
-rw-r--r--scripts/kanboard.py1104
1 files changed, 0 insertions, 1104 deletions
diff --git a/scripts/kanboard.py b/scripts/kanboard.py
deleted file mode 100644
index 6c9d2287..00000000
--- a/scripts/kanboard.py
+++ /dev/null
@@ -1,1104 +0,0 @@
-#!/usr/bin/env python
-'''
-This module implements Kanboard Json-RPC API in Python.
-
-Example:
- kanboard = Kanboard("kanboard-token")
-
- projects = kanboard.getAllProjects()
-
- for p in projects:
- proj = kanboard.getProjectById(p['id'])
-
- pprint(proj)
-
- categories = kanboard.getAllCategories(p['id'])
- for c in categories:
- category = kanboard.getCategory(c['id'])
-
- try:
- pprint(category)
- except:
- print("Cannot print category %s" % category['id'])
- continue
-
- tasks = kanboard.getAllTasks(p['id'], 1)
- for t in tasks:
- task = kanboard.getTask(t['id'])
-
- try:
- pprint(task)
- except:
- print("Cannot print task %s" % task['id'])
- continue
-
- subtasks = kanboard.getAllSubtasks(task['id'])
- for st in subtasks:
- subtask = kanboard.getSubtask(st['id'])
-
- try:
- pprint(subtask)
- except:
- print("Cannot print subtask %s" % subtask['id'])
- continue
-
- comments = kanboard.getAllComments(task['id'])
- for c in comments:
- comment = kanboard.getComment(c['id'])
-
- try:
- pprint(comment)
- except:
- print("Cannot print comment %s" % comment['id'])
- continue
-
-Created on 18.09.2014
-
-@author: dzudek
-'''
-
-import requests
-import json
-from datetime import datetime
-
-
-def getfromid(iid, ilist, arg='name'):
- for u in ilist:
- if u['id'] == iid:
- return u[arg]
-
-
-getdate = lambda timestamp: getfromtimestamp("%x", timestamp)
-
-getdatetime = lambda timestamp: getfromtimestamp("%x %X", timestamp)
-
-getfromtimestamp = lambda format, timestamp: datetime.fromtimestamp(int(timestamp)).strftime(format) if timestamp is not None else None
-
-class Kanboard():
- url = "http://localhost/kanboard/jsonrpc.php"
- headers = {'content-type': 'application/json'}
-
- username = "jsonrpc"
- token = None
-
- _id = 0
-
- def __init__(self, token, url = None):
- if url is not None:
- self.url = url
-
- self.token = token
-
- def _getId(self):
- self._id += 1
- return self._id
-
- def getTimezone(self):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getTimezone",
- "id" : kid,
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
- assert response.ok
- assert response.json()['id'] == kid
- return response.json()['result']
-
- def createProject(self, name):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createProject",
- "id" : kid,
- "params": {
- "name": name
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getProjectById(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getProjectById",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getProjectByName(self, name):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getProjectByName",
- "id" : kid,
- "params": {
- "name": name
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllProjects(self):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllProjects",
- "id" : kid
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateProject(self, project_id, name, is_active = None, token = None, is_public = None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateProject",
- "id" : kid,
- "params": {
- "id": project_id,
- "name": name
- }
- }
-
- #optional parameters
- if is_active is not None:
- params['params']["is_active"] = is_active
- if token is not None:
- params['params']["token"] = token
- if is_public is not None:
- params['params']["is_public"] = is_public
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def enableProject(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "enableProject",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def disableProject(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "disableProject",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeProject(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeProject",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def enableProjectPublicAccess(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "enableProjectPublicAccess",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def disableProjectPublicAccess(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "disableProjectPublicAccess",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllowedUsers(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllowedUsers",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def revokeUser(self, project_id, user_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "revokeUser",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "user_id": user_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def allowUser(self, project_id, user_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "allowUser",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "user_id": user_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getBoard(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getBoard",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getColumns(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getColumns",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getColumn(self, column_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getColumn",
- "id" : kid,
- "params": {
- "column_id": column_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def moveColumnUp(self, project_id, column_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "moveColumnUp",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "column_id": column_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def moveColumnDown(self, project_id, column_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "moveColumnDown",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "column_id": column_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateColumn(self, column_id, title, task_limit=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateColumn",
- "id" : kid,
- "params": {
- "column_id": column_id,
- "title": title,
- }
- }
-
- #optional parameter
- if task_limit is not None:
- params['params']["task_limit"] = task_limit
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def addColumn(self, project_id, title, task_limit=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "addColumn",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "title": title,
- }
- }
-
- #optional parameter
- if task_limit is not None:
- params['params']["task_limit"] = task_limit
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeColumn(self, column_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeColumn",
- "id" : kid,
- "params": {
- "column_id": column_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def createTask(self, project_id, title, color_id=None, column_id=None, description=None, owner_id=None, creator_id=None, score=None, date_due=None, category_id=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createTask",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "title": title,
- }
- }
-
- #optional parameters
- if color_id is not None:
- params['params']["color_id"] = color_id
- if column_id is not None:
- params['params']["column_id"] = column_id
- if description is not None:
- params['params']["description"] = description
- if owner_id is not None:
- params['params']["owner_id"] = owner_id
- if creator_id is not None:
- params['params']["creator_id"] = creator_id
- if score is not None:
- params['params']["score"] = score
- if date_due is not None:
- params['params']["date_due"] = date_due
- if category_id is not None:
- params['params']["category_id"] = category_id
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getTask(self, task_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getTask",
- "id" : kid,
- "params": {
- "task_id": task_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllTasks(self, project_id, status_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllTasks",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "status_id": status_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateTask(self, task_id, project_id=None, title=None, color_id=None, column_id=None, description=None, owner_id=None, creator_id=None, score=None, date_due=None, category_id=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createTask",
- "id" : kid,
- "params": {
- "id": task_id,
- }
- }
-
- #optional parameters
- if title is not None:
- params['params']["title"] = title
- if project_id is not None:
- params['params']["project_id"] = project_id
- if color_id is not None:
- params['params']["color_id"] = color_id
- if column_id is not None:
- params['params']["column_id"] = column_id
- if description is not None:
- params['params']["description"] = description
- if owner_id is not None:
- params['params']["owner_id"] = owner_id
- if creator_id is not None:
- params['params']["creator_id"] = creator_id
- if score is not None:
- params['params']["score"] = score
- if date_due is not None:
- params['params']["date_due"] = date_due
- if category_id is not None:
- params['params']["category_id"] = category_id
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def openTask(self, task_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "openTask",
- "id" : kid,
- "params": {
- "task_id": task_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def closeTask(self, task_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "closeTask",
- "id" : kid,
- "params": {
- "task_id": task_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeTask(self, task_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeTask",
- "id" : kid,
- "params": {
- "task_id": task_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def moveTaskPosition(self, project_id, task_id, column_id, position):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeTask",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "task_id": task_id,
- "column_id": column_id,
- "position": position
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def createUser(self, username, password, name=None, email=None, is_admin=None, default_project_id=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createUser",
- "id" : kid,
- "params": {
- "username": username,
- "password": password
- }
- }
-
- #optional parameters
- if name is not None:
- params['params']["name"] = name
- if email is not None:
- params['params']["email"] = email
- if is_admin is not None:
- params['params']["is_admin"] = is_admin
- if default_project_id is not None:
- params['params']["default_project_id"] = default_project_id
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getUser(self, user_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getUser",
- "id" : kid,
- "params": {
- "user_id": user_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllUsers(self):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllUsers",
- "id" : kid
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateUser(self, user_id, username=None, name=None, email=None, is_admin=None, default_project_id=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateUser",
- "id" : kid,
- "params": {
- "id": user_id
- }
- }
-
- #optional parameters
- if username is not None:
- params['params']["username"] = username
- if name is not None:
- params['params']["name"] = name
- if email is not None:
- params['params']["email"] = email
- if is_admin is not None:
- params['params']["is_admin"] = is_admin
- if default_project_id is not None:
- params['params']["default_project_id"] = default_project_id
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeUser(self, user_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeUser",
- "id" : kid,
- "params": {
- "user_id": user_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def createCategory(self, project_id, name):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createCategory",
- "id" : kid,
- "params": {
- "project_id": project_id,
- "name": name
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getCategory(self, category_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getCategory",
- "id" : kid,
- "params": {
- "category_id": category_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllCategories(self, project_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllCategories",
- "id" : kid,
- "params": {
- "project_id": project_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateCategory(self, category_id, name):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateCategory",
- "id" : kid,
- "params": {
- "id": category_id,
- "name": name
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeCategory(self, category_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateCategory",
- "id" : kid,
- "params": {
- "id": category_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def createComment(self, task_id, user_id, content):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createComment",
- "id" : kid,
- "params": {
- "task_id": task_id,
- "user_id": user_id,
- "content": content
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getComment(self, comment_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getComment",
- "id" : kid,
- "params": {
- "comment_id": comment_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllComments(self, task_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllComments",
- "id" : kid,
- "params": {
- "task_id": task_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateComment(self, comment_id, content):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateComment",
- "id" : kid,
- "params": {
- "id": comment_id,
- "content": content
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeComment(self, comment_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeComment",
- "id" : kid,
- "params": {
- "id": comment_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def createSubtask(self, task_id, title, user_id=None, time_estimated=None, time_spent=None, status=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "createSubtask",
- "id" : kid,
- "params": {
- "task_id": task_id,
- "title": title
- }
- }
-
- #optional parameters
- if user_id is not None:
- params['params']["user_id"] = user_id
- if time_estimated is not None:
- params['params']["time_estimated"] = time_estimated
- if time_spent is not None:
- params['params']["time_spent"] = time_spent
- if status is not None:
- params['params']["status"] = status
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getSubtask(self, subtask_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getSubtask",
- "id" : kid,
- "params": {
- "subtask_id": subtask_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def getAllSubtasks(self, task_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "getAllSubtasks",
- "id" : kid,
- "params": {
- "task_id": task_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def updateSubtask(self, subtask_id, task_id, title=None, user_id=None, time_estimated=None, time_spent=None, status=None):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "updateSubtask",
- "id" : kid,
- "params": {
- "id": subtask_id,
- "task_id": task_id
- }
- }
-
- #optional parameters
- if title is not None:
- params['params']["title"] = title
- if user_id is not None:
- params['params']["user_id"] = user_id
- if time_estimated is not None:
- params['params']["time_estimated"] = time_estimated
- if time_spent is not None:
- params['params']["time_spent"] = time_spent
- if status is not None:
- params['params']["status"] = status
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-
- def removeSubtask(self, subtask_id):
- kid = self._getId()
- params = {
- "jsonrpc": "2.0",
- "method": "removeSubtask",
- "id" : kid,
- "params": {
- "subtask_id": subtask_id
- }
- }
-
- response = requests.post(self.url, data=json.dumps(params), headers=self.headers, auth=(self.username, self.token))
-
- assert response.ok
- assert response.json()['id'] == kid
-
- return response.json()['result']
-