本記事では、PythonでTrelloのAPIを操作してタスク情報を取得する方法について紹介します。
具体的には以下の2点です。
・【準備】TrelloのAPIトークンとシークレットを取得する
・Python+Trelloでタスクを取得する処理の実装例
目次
【準備】TrelloのAPIトークンとシークレットを取得する
TrelloからPythonで情報を取得するためにはAPIキーとAPIシークレットを取得する必要があります。
手順は以下の通り。
ログインするとスムーズです。
1.以下のAPIページにアクセスします
https://trello.com/app-key
2.キーに書かれいている文字列(APIキー)をひかえておきます
以上でAPIトークンの取得は完了です。
Python+Trelloでタスクを取得する処理の実装例
PythonでTrelloを操作する方法はいくつかありますが、今回は「py-trello」ライブラリを使う方法を紹介します。
以下のボードを例に紹介します。
まずはPipコマンドでライブラリをインストールします。
1 | pip install py-trello |
Trelloへのアクセスの方法は以下の通り。
1 2 3 4 5 6 7 8 | from trello import TrelloClient import os client = TrelloClient( api_key=os.environ['TRELLO_API_TOKEN'], # APIトークン api_secret=os.environ['TRELLO_SECRET'], # シークレット ) |
「TrelloClient()」には先程取得したAPIトークンとシークレットを指定します。
APIトークンやシークレットはOSの環境変数に定義しておくと良いでしょう。
「list_boards()」メソッドで全てのボードを表示することができます。
1 2 | # 全てのボードを表示 print(client.list_boards()) |
◆実行結果
1 | [<Board テストプロジェクト>, <Board テストボード>] |
特定のボード取得したい場合には「get_board()」メソッドを使用します。
ボードIDはURLの「b」の後の文字列です。
https://trello.com/b/xxxxxxx/
1 2 | # 特定のボードを表示 print(client.get_board(os.environ['TRELLO_BOARD'])) |
◆実行結果
1 | <Board テストプロジェクト> |
タスクカードを表示したい場合はボードを取得してget_cards()を使用します。
1 2 3 4 5 6 7 | # ボード内の全てのカードを表示 board = client.get_board(os.environ['TRELLO_BOARD']) cards = board.get_cards() for card in cards: print(card.name) # カード名の表示 print(card.desc) # カードの説明を表示 |
◆実行結果
1 2 3 | 【テンプレート】タスク タスクの説明を記入します。 できるだけ具体的に。 |
以上、TrelloのタスクをPythonで取得する方法でした。
◆APIドキュメント
https://developers.trello.com/reference#introduction