github-id-checker
GitHub の ID が Organization の運用ルールに適合しているかチェックし、適合している場合は登録申請を行えるようにするアプリケーションです。
必要な環境変数
予め以下の環境変数を刺しておく必要があります:
Var |
説明 |
ORG |
対象 GitHub Organization |
KEYWORD |
メールアドレスに含まれるべき文字列 |
POLICY_URL |
プライバシーポリシーのリンク先 URL |
CLIENT_ID |
GitHub OAuth の Client ID |
CLIENT_SECRET |
GitHub OAuth の Client Secret |
WEBHOOK |
通知先 Webhook URL |
GitHub の Client ID/Secret を得るには、 Organization の [Settings] から [OAuth Apps] を選び [New OAuth App] ボタンから必要事項を記入して登録します。
登録の際の [Authorization callback URL] には、デプロイ後の URL の後ろに /github
を加えた URL を指定します。
名前の入力チェックは以下の条件を全て満たすものとしています:
- Trim 処理後の文字数が 3 文字以上
- Trim 処理後に半角スペースを含む
メールの通知を行う場合は、以下の設定が必要です:
Var |
説明 |
SEND_FROM |
エントリーの通知元メールアドレス |
SEND_TO |
エントリーの通知先メールアドレス |
SMTP_USER |
SMTP ユーザー |
SMTP_PASSWORD |
SMTP パスワード |
SMTP_SERVER |
SMTP サーバー |
SMTP_PORT |
SMTP ポート |
チャットに投稿されるメッセージの冒頭に任意の文字を入れるには、環境変数 MSG_PREFIX
を設定します。
Hangouts Chat で @all にメンションを送るには、<users/all>
と記入します。
開発
概要
実装言語は Go で、標準ライブラリと公式ライブラリの golang.org/x/oauth2
のみを用いて開発しています。
UI 部分は素の HTML + CSS です。
コードスタイル
Go コードは Go 標準の gofmt
でフォーマットしてください。
import
文の編成機能のある上位コマンド goimports
の利用を推奨します。
それ以外のコード (shell, html, css) は GoLand (IntelliJ) の標準フォーマッターを推奨します。
Author