2018年8月14日火曜日

Python API Client for Kanboardを使用して、タスクの操作を行う

より新しい記事「Python API Client for Kanboard 1.1.2を使用して、タスクの操作を行う」を参照してください。

Python API Client for Kanboardを使用してPythonからKanboardを操作する事ができます。

〇Python API Client for Kanboardのインストール
pipenv install kanboard
または
pip install kanboard

〇下準備
API KeyとAPI endpointの情報はSettings > APIで取得できます
以下のサンプルコードでapiKey、apiEndpointの値に設定します。

〇アクティブタスクの列挙
from kanboard import Kanboard
from pprint import pprint

apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
result = kb.getProjectByName(name="テストプロジェクト")
projectID = result['id']

# get active tasks
tasks = kb.getAllTasks(project_id=projectID, status_id=1)
for task in tasks:
  print(task['title'])

〇タスクの追加
from kanboard import Kanboard
from pprint import pprint

apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
result = kb.getProjectByName(name="テストプロジェクト")
projectID = result['id']

colname = "Ready"
columnID = None
columns = kb.getColumns(project_id=projectID)
for column in columns:
  if column['title'] == colname:
    columnID = column['id']

# add a task
if columnID is not None:
  kb.createTask(title="サンプルタスク", project_id=projectID, column_id=columnID, description="サンプルです")

〇タスクの削除
from kanboard import Kanboard
from pprint import pprint

apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
result = kb.getProjectByName(name="テストプロジェクト")
projectID = result['id']

# remove a task
taskname = "サンプルタスク"
tasks = kb.getAllTasks(project_id=projectID, status_id=1)
for task in tasks:
  if task['title'] == taskname:
    kb.removeTask(task_id = task['id'])

〇関連情報
Python API Client for KanboardのGithubページ https://github.com/kanboard/python-api-client
・Kanboardに関する他の記事はこちらを参照してください。

・Kanboardのgithubリポジトリ
https://github.com/kanboard/kanboard

0 件のコメント:

コメントを投稿