Toggl Track のデータを Google Sheets にエクスポートして、 freee工数管理 に登録する Google Sheets の Add-on。
次のコマンドでインストールする。 事前にGoogle App Script APIを有効にして clasp にログインしておくこと。
$ git clone https://github.com/HeRoMo/toggl-to-freee-workload.git
$ cd toggl-to-freee-workload
$ yarn install
$ yarn clasp create --type sheets --rootDir src --title toggl-to-freee-workload
$ mv src/.clasp.json ./.clasp.json
$ yarn clasp:push
clasp create
の --title
オプションの値は任意で構わない。
- freeeアプリストア にアクセスする
- 「新規追加」をクリックして新しいアプリを作成する
- アプリ名:任意でOK
- 概要:任意でOK
- アプリタイプ:プライベートを選択
- 作成すると ClientID と Client Secret が発行される。
- ClientID と Client Secret は後で使う。
- コールバックURLはまだそのままでOK
- 権限設定で次の項目にはチェックを入れる
- [人事労務] 勤怠: 参照のみでOK
- [工数管理] 従業員
- [工数管理] チーム
- [工数管理] プロジェクト: 参照のみでOK
- [工数管理] プロジェクト詳細
- [工数管理] 従業員単価
- [工数管理] 取引先
- [工数管理] 工数:参照、更新ともにチェックする
- 設定したら保存する
- スクリプトが関連づいているスプレッドシートを開く
yarn clasp open --addon
を実行すると開く
- メニュー「拡張機能」の中にtoggl-to-freee-workloadという項目ができているのでそのサブメニューの「設定」を選択する
- 設定ダイアログが開くので各項目を入力して保存する。
- 入力したら「保存」する
- 再度設定ダイアログを開いて、ログインボタンをクリックする
- ダイアログが表示されるので「freeeの認証ページを開く」
- freee の認証ページで許可して、ブラウザのタブを閉じる
- 再度設定ダイアログを開いてログアウトボタンの横にログインユーザが表示されていれば成功ログイン成功
- 「拡張機能」のtoggl-to-freee-workload の「サイドバーを表示」を選択する
- サイドバーのTogglの「プロジェクト・タグを出力する」ボタンをクリックする
- TOGGL_PROJECTS_TAGS という名前のシートが作られ toggl のプロジェクトとタグの一覧が出力される
- freee工数管理の「プロジェクト・タグを出力する」ボタンをクリックする
- FREEE_PROJECTS_TAGS という名前のシートが作られ freee工数管理のプロジェクトとタグの一覧が出力される
- 自分が参画していないプロジェクトも出力されることに注意
- TOGGL_FREEE_MAP という名前のシートを作成し、カラムヘッダとして1行目に次のカラム名を記入する
- togglProjectId
- togglProjectName
- togglTagId
- togglTagName
- freeeProjectId
- freeeProjectName
- freeeTagGroupId
- freeeTagGroupName
- freeeTagId
- freeeTagName
- TOGGL_PROJECTS_TAGS と FREEE_PROJECTS_TAGS を元にtogglとfreee工数管理のプロジェクト・タグ対照表を作成する
以上で準備は完了。
- togglデータを出力したいシートを選択する
- サイドバーを表示し toggl の workspace と 年月を選択して「読み出し」ボタンをクリックする
- シートに toggl のデータが出力されるので確認する
- freeeTagGroupId、freeeTagGroupName、freeeTagId、freeeTagName が出力されていない行は toggl データのプロジェクト・タグの組み合わせが間違っているか TOGGL_FREEE_MAP が間違っているので修正する
- freee工数管理のプロジェクト [その他]その他業務(開発以外) はタグがないので空白で構わない
- データを確認したらサイドバーの freee工数管理の「工数を登録」をクリックする
- シートの内容が工数として登録される
- 工数 | freee工数管理 で登録した工数を確認する
You can push the codes to GAS by the following command.
$ yarn clasp:push
And you can open your GAS project in web editor by the following command.
$ yarn clasp:open
Run the following command, you can check the codes by ESLint.
$ yarn lint
Run the following command, you can test the codes by jest locally.
$ yarn test