2020年4月21日火曜日

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

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

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

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

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

apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'

kb = kanboard.Client(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'])

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

apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'

kb = kanboard.Client(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="サンプルです")

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

apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'

kb = kanboard.Client(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のついてのまとめは「Python API Client for KanboardでKanboardをコントロールする」を参照してください。

・Python API Client for KanboardのGithubページ
https://github.com/kanboard/python-api-client

・Kanboardに関する他の情報はこちらを参照してください。

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

0 件のコメント:

コメントを投稿