2018年7月31日火曜日

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)
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に関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿