アイデア投稿履歴のリアクション (絵文字での反応以外も含めて😉) をサポートするDiscord Bot.
- アイデア投稿フォームに新しいアイデアが投稿された際に:
- その投稿履歴に "👍", "👎", "🤔" のリアクションを付与する
- その投稿履歴にスレッドを作成する
- その投稿履歴の Redmine Issue にスレッドへの URL をコメントする
- k8s 及び Docker Container 上での動作を想定しています. 整地鯖の k8s で動作するための定義は seichi_infra で公開しています. (定義ファイル:
seichi-onp-k8s/manifests/seichi-kubernetes/apps/seichi-minecraft/idea-reaction/idea-reaction.yaml
) compose.yaml
を配置しているリポジトリ内に.env
ファイルを用意し, 環境変数を設定してください.- 設定後
docker compose up -d
で起動できます.
docker-redmine
内のcompose.yaml
を実行し, Redmine と postgres を起動します.- Redmine にログインし, Issue の作成権限・更新権限を持つユーザを作成し, API Key を取得します.
idea-reaction
の.env
ファイルに以下の環境変数を追加します.REDMINE_API_KEY
: Redmine の API KeyREDMINE_URL
: Redmine の URL (Docker 環境の場合http://localhost:8080
です.)
cargo run
で idea-reaction を起動します.
- 環境変数
ENV_NAME
をproduction
に設定すると Sentry との連携が有効になります. 開発時は指定しないようにしてください.
- idea-reaction は GitHub App (release-please などのツール) を使った自動リリースには対応していません.
- リリースをするときは
Cargo.toml
のversion
プロパティなどを bump したうえで Actions にあるRun workflow
から CI を実行すると ghcr.io に Docker Image がリリースされます. - k8s 本番環境にある idea-reaction を更新する場合は
.../apps/seichi-minecraft/idea-reaction/idea-reaction.yaml
のspec.template.spec.containers.image
の値を変更してください.- タグ等の情報は Packages から確認できます.
Name | Description |
---|---|
ENV_NAME |
環境名 (production 以外は無視される) |
DISCORD_API_TOKEN |
Discord Bot のトークン |
REDMINE_API_KEY |
Redmine の API Key (コメント機能を有効にする場合のみ) |
REDMINE_URL |
Redmine の URL (コメント機能を有効にする場合のみ) |
TARGET_CHANNEL_ID |
監視対象チャンネルのID |
TARGET_WEBHOOK_ID |
監視対象WebhookのID |
TARGET_GUILD_ID |
監視対象ギルドのID |