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)
groups = kb.getAllGroups()
pprint(groups)

〇グループの追加
import kanboard
from pprint import pprint

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

kb = kanboard.Client(apiEndpoint, 'jsonrpc', apiKey)
result = kb.createGroup(name="テストグループ")
pprint(result)

〇グループの削除
import kanboard
from pprint import pprint

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

kb = kanboard.Client(apiEndpoint, 'jsonrpc', apiKey)
group = [group for group in kb.getAllGroups() if group['name'] == 'テストグループ']
if len(group) != 0:
  kb.removeGroup(group_id = group[0]['id'])

〇グループメンバーの列挙
import kanboard
from pprint import pprint

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

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

〇グループにユーザーを追加
import kanboard
from pprint import pprint

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

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

〇グループからユーザを削除
import kanboard
from pprint import pprint

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

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

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

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

・Kanboardに関する他の情報はこちらを参照してください。
・Kanboardのgithubリポジトリ
https://github.com/kanboard/kanboard

0 件のコメント:

コメントを投稿