一連の変更がアップストリームリポジトリにプッシュされるたびに要約メールを送信するように適切なGitフックを構成するにはどうすればよいですか?
11 に答える
これを行うためのもう1つのより現代的な方法は、以下のChordsによって提案されているように、git-multimailを使用することです。
これが2009年のやり方です。
$ GITDIR / hooksの受信後のフックにこのようなものを追加するか、ソースのcontribディレクトリにあるスクリプトを使用できます(ここで入手可能)
これが私が見つけた最も簡単な解決策です:
1) github.com でgitHubアカウントにログインします。
2) メイン タブで [設定] をクリックします。
3) メイン ナビゲーションから [サービス フック] を選択します。
4) Available Hooks から Email を選択します
5) アドレス欄にメールアドレスを入力してください
6) [作成者から送信] チェックボックスをオンにします。
7) チェックボックスアクティブにチェックを入れます
8) [設定の更新]をクリックします。
オプション: テスト用に [テスト フック] をクリックし、メールを受信する受信トレイを確認します。
また、プロセスに従って作成された画像もあります。
そして今、グランドファイナルに向けて、私の側でテストされ承認された答えがあります.
gitHub の Service Hooks->Email で最大 2 人の受信者しか許可されていない場合に、すべての開発チーム メンバーに E メールを送信する方法 } .
答えは、Service Hook->Email @ GitHub && Google グループの組み合わせです
- まずはGoogleアカウントにログイン
- Google グループに移動し、上部にある [グループの作成] をクリックします。
- グループ名、グループのメール アドレス (GitHub サービス フック -> メール アドレスにコピー/貼り付け)、グループの説明を入力します。
- その後、上部にある [作成] ボタンをクリックすると、新しいグループが作成されます。
- その後、左側のメニューで [メンバーを招待] をクリックし、チーム メイトのメール アドレスを入力します。
- その後、 [招待を送信] (メンバーが招待を受け入れると) を押した後、彼らはこのグループの正式なメンバーになりました
- 左側のメニューで [すべてのメンバー] をクリックし、[配信] という 4 番目の列を確認します。すべてのチーム メンバーには [ すべてのメール] オプションが必要です。
- その後、Clement Escoffier 氏の功績を称えたいと思います。彼のガイドラインに従ってください @ Clement Escoffier::Send Github commits to a Google Group on how to finish. {クレメントありがとう:)}
- リンクが利用できなくなった場合は、私の gDocs @ Clements ガイドの PDF 版への別のリンクがここにあります
これは、誰かがリポジトリにプッシュするたびにユーザーに電子メール通知を送信する私の方法です。
アンディ・パーキンスの脚本に基づいています。メールの送信にSMTPを使用するように変更します。もちろんgmailのSMTPも使えます。
Robin Sommerのgit-notifierも、次の形式で非常に優れた要約を生成します。
Subject: [git/git-notifier] master: Adding www target to Makefile. (7dc1f95)
Repository : ssh://<removed>/git-notifier
On branch : master
>---------------------------------------------------------------
commit 7dc1f95c97275618d5bde1aaf6760cd7ff6a6ef7
Author: Robin Sommer <robin@icir.org>
Date: Sun Dec 19 20:21:38 2010 -0800
Adding www target to Makefile.
>---------------------------------------------------------------
Makefile | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index e184c66..9c9951b 100644
--- a/Makefile
+++ b/Makefile
@@ -5,6 +5,8 @@ VERSION = 0.1
DISTFILES = git-notifier README COPYING
+WWW = $(HOME)/www/git-notifier
+
all:
dist:
@@ -13,3 +15,7 @@ dist:
cp $(DISTFILES) git-notifier-$(VERSION)
tar czvf git-notifier-$(VERSION).tgz git-notifier-$(VERSION)
rm -rf git-notifier-$(VERSION)
+
+www: dist
+ rst2html.py README >$(WWW)/index.html
+ cp git-notifier-$(VERSION).tgz $(WWW)
hooks.showrev を設定しても区別できる違いはありませんか? :-/
サンプル構成:
# less users/cj.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = cj@yoga.ee
showrev = "git show -C %s; echo"
emailprefix = "[sabu gitosis server] "
私はなんとかこれを行うことができましたが、アレクサンドル・ジュリアードによる他の(perl)スクリプトではなく、contribスクリプトを使用することを選択する必要がありました。それはより魅力的でより構成可能に見えますが、postfixでは「-s」を受け入れるメールコマンドがありませんでしたか?これが私のやり方です:
http://pastie.textmate.org/695323
完全なパッチ、gitwebリンク、コミットグラフなど、さらにいくつかの情報を表示すると便利ですが、このスクリプトは最初のスクリプトしか実行できません。hooks.showrevをいじってみるとそうです。
とにかく、乾杯と提案に感謝します!
Windowsを使用する場合は、scm-notifierが役立ちます。
Github 固有であるため、完全な回答ではありませんが、Github を使用する場合は、「サービス フック」を構成するのは非常に簡単です。
監視するリポジトリごとに、Settings / Service Hooks を入力します。
Trac、Twitter、Amazon SNS、Jira、Asana、Bugzilla、FogBugz、IRC、Jabber、Pivotal Tracker、Trello、Email など、利用可能な統合が多数あります。E メール
を選択して、グループの E メールアドレスをフィードするだけです。
メール通知を使用して開発者を同期します。