こんにちは。遠藤です。
今回はAsanaのAPIを利用してみたので、利用方法と実際の用途を紹介させていただきます。
1. 利用方法
a. Aasana APIとは
今回使用するのはAsanaが用意してくれているAPIです。
詳細なドキュメント:Asana API
b. Asana APIを利用するための準備
Asana APIを使用するためにはアクセストークンの取得が必要です。
開発者コンソールへAsanaアカウントを使用してアクセスします。
「Personal access tokens」という項目があるので、「Create new token」からトークンを作成します。「Token name」にトークンの名前を入力し、「Create token」を押下するとトークンが作成されます。
正常に作成されるとトークンのコピー画面に遷移します。トークンは2度と表示されませんので、コピーして保管するようにしましょう。
トークンさえできてしまえば、Asana APIを利用する準備は完了です。
開発者コンソール:Asana Developer Console
c. GASの記述
今回はGASでAsana APIを利用したので、コードと共にコメントで解説します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
/** * Asanaから特定のプロジェクトのタスクを取得する */ function getProjectTasks() { // リクエストオプションを作成 var options = { // GETメソッド 'method': 'get', // JSON形式 'contentType': 'application/json', // ヘッダ 'headers': { // 認証情報 'Authorization': 'Bearer ' + 'アクセストークン' }, } // プロジェクトのIDを設定(Asana各プロジェクトのURLにある16桁程度の数字 var projectGid = 'プロジェクトのID'; // プロジェクトのタスクを取得するURIを設定 var urlProject = `https://app.asana.com/api/1.0/projects/` + projectGid + `/tasks`; // 各タスクで取得する項目を設定 urlProject += `?opt_expand=memberships,name,due_on,modified_at,completed,custom_fields`; // APIの実行 var responseProject = UrlFetchApp.fetch(urlProject, options); // 取得結果をjsonに変換 var resultProject = JSON.parse(responseProject); ・・・・・・以下省略 } |
上記のコードを利用することで、Asanaから特定のプロジェクトのタスクを取得することができます。基本的にはアクセストークンを設定して、APIのURIを指定することでスムーズに使用することができるかと思います。あとは、URIをドキュメントを見ながら色々変えてみるとタスクの作成だったり、更新だったりといろんなことができそうでした。
2. 実際の用途
今回はAsanaのAPIを使用してユーザーストーリーマッピングというものを作りました。
ここで言うユーザーストーリーマッピングとはアジャイル開発にて使用するユーザーストーリーマッピングです。左に行にスプリント、列に分類を表示する構成の表です。
以下に参考例を表示します。
当初は上記のようにパワーポイントを使用して作成してました。Asanaで同様の機能が備わっていればよかったのですが、備わっておらず…。しかし、パワーポイントで作成しているとアジャイルの特性上コロコロと変わるスケジュールに対応するにはなかなか手間がかかりました。そこで、Asanaと連携したユーザーストーリーマッピングを作成することにより、Asanaを変更すればユーザーストーリーマッピングにも反映されるようにしたいと思ったのが今回の背景です。
AsanaのAPIは豊富なレパートリーが用意されており、日報や週報など社内で使用されているさまざまな管理ツールと連携できそうでした。うまく連携できれば業務が楽になりそうかなと感じました。