より新しい記事「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)
groups = kb.getAllGroups()
pprint(groups)
〇グループの追加
from kanboard import Kanboard
from pprint import pprint
apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
result = kb.createGroup(name="テストグループ")
pprint(result)
〇グループの削除
from kanboard import Kanboard
from pprint import pprint
apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
group = [group for group in kb.getAllGroups() if group['name'] == 'テストグループ']
if len(group) != 0:
kb.removeGroup(group_id = group[0]['id'])
〇グループメンバーの列挙
from kanboard import Kanboard
from pprint import pprint
apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
group = [group for group in kb.getAllGroups() if group['name'] == 'テストグループ']
if len(group) != 0:
members = kb.getGroupMembers(group_id = group[0]['id'])
for member in members:
print(member['username'])
〇グループにユーザーを追加
from kanboard import Kanboard
from pprint import pprint
apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
group = [group for group in kb.getAllGroups() if group['name'] == 'テストグループ']
user = kb.getUserByName(username="sample1")
if user is not None and len(group) != 0:
groupID = group[0]['id']
userID = user['id']
result = kb.addGroupMember(group_id = groupID, user_id = userID)
pprint(result)
〇グループからユーザを削除
from kanboard import Kanboard
from pprint import pprint
apiKey = 'your-api-key'
apiEndpoint = 'your-api-endpoint'
kb = Kanboard(apiEndpoint, 'jsonrpc', apiKey)
group = [group for group in kb.getAllGroups() if group['name'] == 'テストグループ']
user = kb.getUserByName(username="sample1")
if user is not None and len(group) != 0:
groupID = group[0]['id']
userID = user['id']
result = kb.removeGroupMember(group_id = groupID, user_id = userID)
pprint(result)
〇関連情報
・Python API Client for KanboardのGithubページ
https://github.com/kanboard/python-api-client
・Kanboardに関する他の記事はこちらを参照してください。