Toggl API 互換性
Toggl 向けのスクリプト、CLI、エージェントを OpenTickly につなぎ替える方法。使う URL、API トークンでの認証、切り替え前に確認しておくこと。
OpenTickly は Toggl と同じ API を話します。Toggl 向けに作ったスクリプト、CLI、エージェントは、URL とトークンを変えるだけで OpenTickly のインスタンスとやり取りできます。対応しているのは Toggl の 3 つの API、Track v9、Reports v3、Webhooks v1 です。
ベース URL
https://your-instance.example は、自分の OpenTickly サーバーの公開 URL に置き換えてください。
| API | ベース URL |
|---|---|
| Track v9 | https://your-instance.example/api/v9 |
| Reports v3 | https://your-instance.example/reports/api/v3 |
| Webhooks v1 | https://your-instance.example/webhooks/api/v1 |
インターネット越しにアクセスするなら HTTPS にしてください。Docker コンテナ自体は HTTP しか話さないので、HTTPS はふつう Nginx や Caddy などのリバースプロキシで用意します。
API トークンを取得する
OpenTickly の Web アプリにサインインし、アバターのメニューから プロフィール を開いて APIトークン を探します。トークンはパスワードと同じように扱ってください。git にコミットしない、Issue に貼らない、ログに出さない、が基本です。
認証方法は Toggl と同じです。HTTP Basic 認証で、ユーザー名にトークン、パスワードに api_token という文字列をそのまま使います。
curl --user "${OPENTICKLY_API_TOKEN}:api_token" \
https://your-instance.example/api/v9/me先にシェルで OPENTICKLY_API_TOKEN を設定しておきます。自分のユーザー情報が返ってくれば、トークンは使えています。
既存のツールを OpenTickly に切り替える
たいていのツールは、変えるところが 2 つだけです。
- Toggl の API アドレスを、上の表にある OpenTickly のアドレスに置き換える。
- Toggl のトークンの代わりに、OpenTickly の API トークンを使う。
toggl-cli の場合:
toggl auth <YOUR_API_TOKEN> \
--api-type opentoggl \
--api-url https://your-instance.example/api/v9Toggl のアドレスがアプリに埋め込まれていて変更する設定がないサードパーティ製アプリは、OpenTickly に向けることができません。
切り替える前に試す
API 全体ではなく、自分のツールが実際に送るリクエストを試してください。本格的に使う前に:
GET /api/v9/meで現在のユーザーを取得する。- ワークスペース、プロジェクト、タグ、最近の時間エントリを一覧する。
- テスト用の時間エントリを作って、停止する。
- スクリプトで使っているのと同じレポートのクエリを実行する。
- Webhook を使うなら、テスト用のサブスクリプションを作って、終わったら削除する。
- エラー処理、ページネーション、日付、タイムゾーンを確認する。
Toggl のすべてのエンドポイントが、まだ完全に同じ動きをするわけではありません。Toggl では動くのに OpenTickly では動かないものがあれば、リクエストと返ってきたレスポンスを添えて GitHub Issue を立ててください。
自動で動くスクリプトでは、URL とトークンをコードに書かず、必要なワークスペースにだけアクセスできるアカウントを使い、トークンが漏れたらリセットしましょう。