github-id-checker

command module
v0.0.0-...-52adb04 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2024 License: BSD-3-Clause Imports: 11 Imported by: 0

README

github-id-checker

Go Go Report Card

Deploy

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL