Skip to content

walnuts1018/wakatime-to-slack-profile

Repository files navigation

Wakatime to Slack Profile

Go Tests Code Coverage Go Report Last Image Build Latest Image wakatime

このプログラムは、Wakatime経由でユーザーが現在書いているコードを取得し、Slackのカスタムステータスに絵文字として設定するプログラムです。

image

Getting Started

PostgreSQL

いい感じに用意してください。

Wakatime API

いい感じに頑張ってApp IDとSecretを用意してください。

環境変数

env sample detail
GIN_MODE release gin用release mode設定
WAKATIME_APP_ID ********** Wakatime APIのApp ID
WAKATIME_CLIENT_SECRET ********** Wakatime APIのClient Secret
COOKIE_SECRET ************* Cookie用のSecret: 64Byteのランダム文字列を入れてください
PSQL_ENDPOINT postgres-release-postgresql.databases.svc.cluster.local Postgresqlのendpoint
PSQL_PORT 5432 PostgreSQLのポート
PSQL_DATABASE wakatime_to_slack PostgreSQLデータベース名
PSQL_USER user PostgreSQLユーザー名
PSQL_PASSWORD ********** PostgreSQL ユーザーパスワード
SLACK_ACCESS_TOKEN xoxp-******** SlackのACCESS Token

emoji.jsonを用意

emoji.jsonは手動で言語とSlack絵文字との対応付けを行うためのファイルです。

実行パスに配置 Wakatimeにおける言語名: Slackの絵文字ID

{
  "Go": "gopher",
  "YAML": "k8s",
  "SQL": "postgresql"
}

絵文字は、

emoji.jsonでの手動指定言語名そのまま言語名を全て小文字にしたもの(絵文字が見つからなかった場合)❓

の順番に探されます。

また、過去十分間にコードを書いていない場合は🦥になります。

image

Start with Docker

対応arch: amd64, arm64

docker run -p 8080:8080 ghcr.io/walnuts1018/wakatime-to-slack-profile:latest

ログイン

初回起動時にはブラウザでのログインが必要です。

ブラウザで http://localhost:8080/signin を開きます。(他のURLで公開している場合は適宜指定してください。)

Wakatimeのログイン画面が開くので、ログインしてください。

以下のような画面に戻ってきたらブラウザを閉じてください。 image

以降はTokenがPostgreSQLに保存されるので、手動でのログイン作業は必要ありません。