Edited at

Trello API を叩いてカードを作成する方法(curl利用)

More than 3 years have passed since last update.

「Trello API を叩いてカードを作成する」という基本的なことをしてみたかったので,原始的に curl を利用して流れを確認して手順にまとめました.


アクセスのための準備


API Key の取得

ここにアクセスします

https://trello.com/1/appKey/generate

すると Key: というボックスがあると思いますのでその値をコピーします.


API Token の取得

今回は,期限無制限でRead/Write権限のついたトークンを取得します.

下記のURLをブラウザで開きましょう

https://trello.com/1/authorize?key=<上で取得したKey>&name=&expiration=never&response_type=token&scope=read,write

するとこんな感じの画面が開かれるので Allow しましょう

Auth

Allow すると下記のようにシンプルなページが表示されるのでキーをコピーします.

You have granted access to your Trello information.

To complete the process, please give this token:

<ここにキーが表示される>


Trello のエンティティ関係

A ---> B を AとBが1対多の関係としたときに次のようなエンティティ関係のようです.

Member ---> Board ---> List ---> Card

つまりカードを投稿するには,次の順で情報を取得していく必要があります.


  1. 投稿したい Board の ID を取得する

  2. 投稿したい List (Todo, Do, Done など) の ID を取得する

  3. Card を投稿する


1. Board の ID を取得する

curl "https://trello.com/1/members/<username>/boards?key=<Key>&token=<Token>"

で取得することができます.

しかしこれだけだと大量のデータに埋もれてIDを取得できないので,APIの機能にあるフィルタをかけてみましょう.

$ curl "https://trello.com/1/members/<username>/boards?key=<Key>&token=<Token>&fields=name"

返却値を整形して見ると

[

{
"name": "Welcome Board",
"id": "XXXXe2eaed887e7c007d46"
},
{
"name": "test",
"id": "XXXXc321d57991e7312a7d4"
}
]

てな感じで Board IDを取得できました.


2. List の ID を取得する

Board一覧と同様にListの一覧を取得しましょう.

$ curl "https://trello.com/1/boards/<BoardのID>/lists?key=<Key>&token=<Token>&fields=name"

結果はこんな感じです.あと一息!

[

{
"id": "XXXXXX57991e731XXXXX",
"name": "To Do"
},
{
"id": "XXXXXXd57991e73XXXXXXX",
"name": "Doing"
},
{
"id": "XXXXXXXX57991eXXXXX",
"name": "Done"
}
]


3. カードを投稿する

カードを投稿しましょう!カードは様々な値を含んで投稿することができます.

詳しくは,post-1-cards の仕様書を参照ください.

今回はシンプルにタイトルのみのカードを投稿します.

curl -X POST "https://trello.com/1/cards?key=<Key>&token=<Token>&idList=< 2. で取得したリストのうち投稿したいリストのID>&name=カードタイトル"

きちんと登録されていました.

result


おわりに

今回は,Trello の API の使用方法について調査しました.

Trello にはたくさんのAPIが用意されているようなので,いろいろ活用したいですね.