tanuki_reminderとは
マージされていないMRの一覧を指定した時間にチャットに通知するリマインダーで、 Pull Reminders のGitLabクローンです。
Pull Remindersが便利なのでGitLabでも使いたくて作りました。
名前の由来
Pull Panda がパンダなので動物つながりでGitLabなのでタヌキにしました
余談ですがtanuki呼びは公式設定です
技術的なこと
- golang製で開発期間1週間くらい
- GitLab系のツールなので常にドッグフーディングするために GitLab.com にホスティング
- Dockerイメージのホスティング先にも使えて便利(後述)
- SlackとChatWorkに対応
使い方
.gitlab-ci.yml
に下記のようなジョブを書いてschedulerに登録するだけで使えます。
include: - remote: https://gitlab.com/sue445/tanuki_reminder/raw/master/ci-templates/slack_reminder.yml slack_reminder: variables: # GITLAB_ACCESS_TOKEN: "" # [required] # INCLUDE_WIP: "false" # [optional] put `true` or `false` # MERGE_REQUEST_COUNT: 10 # [optional] # SLACK_WEBHOOK_URL: "" # [required] # SLACK_CHANNEL: "" # [optional]
include: - remote: https://gitlab.com/sue445/tanuki_reminder/raw/master/ci-templates/chatwork_reminder.yml chatwork_reminder: variables: # GITLAB_ACCESS_TOKEN: "" # [required] # INCLUDE_WIP: "false" # [optional] put `true` or `false` # MERGE_REQUEST_COUNT: 10 # [optional] # CHATWORK_API_KEY: "" # [required] # CHATWORK_ROOM_ID: "" # [required]
通知対象のリポジトリにリマインダージョブを書いてもいいですが、通知専用のリポジトリを作ってschedulerに通知対象のリポジトリを複数登録するのが運用的に楽だと思います。
基本的にはGitLab CI上で動かすことを想定していますが、ビルド済のバイナリやDockerイメージでも配布しているのでGitLab CI以外でも使えると思います。