【更新】Backlogの工数を指定日付の期間集計するGoogleスプレッドシートをつくりました
過去リクエストをいただいていた方へ。
大変申し訳なかったのですが、リクエスト通知を受け取れておりませんでした。これを機にスプレドシートの構成やスクリプトを修正いたしましたので、また機会があればご覧いただければ幸いです。
補足ですが、バックログさんのドメインが.jpから.comに変わっています。この記事では.comの場合を想定しておりますが、.jpでお使いの方はスクリプトの50行目を変更してください。
みなさんこんばんは。
当社ではウェブマーケティング(B2Bウェブマーケティング)やUI設計・構築プロジェクトを月次の予算の中で進行する「月額プラン」のお客さまがほとんどです。
案件形態は受託(請負)と同じなのですが、柔軟にお客さまのオーダーや世の中の流れに対応するにはそうした方が何かと便利です。
受託の場合でもそうなのですが「今工数はどのくらい発生しているの?」「予算工数との差分はどのくらい?」は常に気になります。というか気にしないといけません。PMやPLだったりすればなおさらです。(ザル勘定のPM・PLさんは嫌われます)
とはいえ毎日集計用のエクセル作って、SUM書いて、工数聞いて…ってやってるのも馬鹿らしいですよね。
だもんでスプレッドシートで集計できるシートを作りました。
- INDEX
工数はバックログで一元管理・集計はスプレッドシートでボタン一つ
シルシではタスク管理やお客さまとのコメント管理はバックログを利用しています。(うちうちはSlak・InVision・Github・・・カオス化中) バックログはもはやデファクトスタンダードですね。バックログは「予定工数」「実績工数」が最初から数値で使えます。これ案外みなさんお使いじゃあないんじゃないでしょうか。これをきちんと活用して、集計できれば工数管理も状況把握も簡単でおすすめです。
では使い方です。
スプレッドシート初期設定
初期設定が必要なところ
実行シートの下記の箇所をお使いのバックログに合わせて変更してください。
項目 | 設定内容 |
---|---|
バックログプロジェクト名 | よしなにプロジェクト名を入れてください |
ProjectID | Backlogのプロジェクト設定画面URLの末尾数字10桁 |
計約人日・費用等 | 案件ごとに設定してください |
集計日付 | FROM/TOの設定を入れてください。その期間のタスクを集計します |
BacklogAPIの設定
ちょっと小難しそうに見えますが非エンジニアでもできますのでやってみてください。
バックログとスプレッドシートを連携させるための設定を行います。こちらも1回行えばOKです。
スクリプトエディタを開く:ツール>スクリプトエディタを選択して、L8行目あたりの設定値を変更します。
1 2 3 4 5 6 |
//バックログスペースID - バックログのURLの「https://xxxxxx.backlog.jp/」のxxxxxxのこと var space_id = '******'; //バックログの個人設定->APIより発行したAPIキー var api_key = "************"; |
スペースIDとバックログAPIをコピペしてください。
バックログAPIの発行については、公式プログを参照ください。
APIの設定 – Backlog(Japanese)
実行ボタンで集計シートができます。
上記の設定をし手から、日付を入れて集計ボタンを押してください。(初回はGASの利用許可確認画面が開きますが一度のみです)
集計が成功すると「2018-01-01:2018-01-31」といった設定した日付のシートができます。まぁー便利ーぃ
見た目の形成はGAS側で行なっています。そのままPDFでクライアントに報告もできますし、内部の資料に使ってもOKかと思います。なので、スプレッドシートの書式設定などしても破棄されてしますので、スクリプトの内容を参照してください。だいぶまめにコメント入れてありますので、エンジニアの方が見ればわかるかなと思います。
カスタム属性は3つ取得できるようにしてあります
各社各々の項目を追加している場合があります(バックログのカスタム属性)
このシートでは3つのカスタム属性のあたいを集計できるようにしてあります。
スクリプトエディタ>L101
1 2 3 4 |
range.offset(row, 7).setValue("カスタムフィールド1"); range.offset(row, 8).setValue("カスタムフィールド2"); range.offset(row, 9).setValue("カスタムフィールド3"); |
スクリプトエディタL130>コメントアウトを削除しカスタムフィールド名を設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//それぞれのif分は対象のカスタムフィールドの場合ごとに処理わけ if(issuelist[i]["customFields"][j].name=="カスタムフィールド1"){ var data2 = issuelist[i]["customFields"][j].value; range.offset(row, 7).setValue(data2); } if(issuelist[i]["customFields"][j].name=="カスタムフィールド2"){ var data2 = issuelist[i]["customFields"][j].value; range.offset(row, 8).setValue(data2); } if(issuelist[i]["customFields"][j].name=="カスタムフィールド3"){ var data2 = issuelist[i]["customFields"][j].value; range.offset(row, 9).setValue(data2); } |
ここを編集すればカスタム属性も集計できるようになります。
カスタム属性は数字でないと集計できないのでご注意いただくか、各自でGASを編集してください。
プロジェクト管理の工数が楽になって早く帰れることを祈ります。
何かあればお仕事ご一緒させてください。
ではでは。