一連の変更がアップストリームリポジトリにプッシュされるたびに概要メールを送信するように適切なGitフックを設定するにはどうすればよいですか?
これを行うためのもう1つのより現代的な方法は、以下の コード で示唆されているように、 git-multimail を使用することです。
これが2009年のやり方です。
this のようなものを$ GITDIR/hooksのpost-receiveフックに追加するか、ソースのcontribディレクトリにあるスクリプトを使用することができます (Available here)
これが私が見つけた最も簡単な解決策です:
1) github.com でgitHubアカウントにログインします
2)メインタブで設定をクリックします
3)メインナビゲーションからService Hooksを選択します
4)利用可能なフックからメールを選択
5)フィールドにメールアドレスを入力しますAddress
6)チェックボックスをオンにします送信者から送信
7)チェックボックスをオンにしますActive
8)設定の更新をクリックします
オプション:Test Hookをクリックしてテストします。メールを受信する受信トレイを確認します。
プロセスに従って作成された画像もあります。
そして今、グランドファイナルについては、私の側でテストされ承認された答えがあります。
gitHubのサービスフック->電子メールで最大2人の受信者しか許可されていない場合、すべての開発チームメンバーに電子メールを送信する方法}。
答えはService Hook-> Email @ GitHub && Google groupsの組み合わせです
これは、リポジトリにプッシュするたびにユーザーに電子メール通知を送信する私の方法です。
Andy Parkinsのスクリプトに基づいています。メールを送信するために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 <[email protected]>
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を設定しても、顕著な違いはありませんか? :-/
サンプルconf:
# less users/cj.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = [email protected]
showrev = "git show -C %s; echo"
emailprefix = "[sabu gitosis server] "
私はこれをなんとかすることができましたが、Alexandre Julliardによる他の(Perl)スクリプトではなく、contribスクリプトの使用を選択する必要がありました。もっと派手で設定しやすいように見えますが、接尾辞には「-s」を受け入れるメールコマンドがありませんか?私の方法は次のとおりです。
http://pastie.textmate.org/69532
完全なパッチ、gitwebリンク、コミットグラフなどの詳細情報を表示するのは良いことですが、このスクリプトは最初にしか実行できません-hooks.showrevで遊んでいるようです。
とにかく、乾杯と提案をありがとう!
Github固有であるため完全な答えではありませんが、Githubを使用する場合は「サービスフック」を非常に簡単に構成できます。
監視するリポジトリごとに、設定/サービスフックを入力します。
Trac、Twitter、Amazon SNS、Jira、Asana、Bugzilla、FogBugz、IRC、Jabber、Pivotal Tracker、Trello、Emailなど、利用可能な統合が多数あります。
メールを選択して、グループのメールアドレスを入力してください。
電子メール通知を使用して、開発者を同期します。
GitLabを使用している場合、「Email-on-Push」プロジェクトサービスを使用できます。プロジェクト設定のサービスの下にあります。
事前コミットを使用できます。
#!/usr/bin/env Ruby
require 'mail'
Mail.defaults do
delivery_method :smtp,
address: 'smtp.gmail.com',
port: 587,
user_name: '...',
password: '...',
authentication: 'plain',
enable_starttls_auto: true
end
changes=`git diff --cached --unified=0 Gemfile Bowerfile`
unless changes.empty?
Mail.deliver do
from '...'
to '...'
subject '[PROJECT] Plese confirm team can use libraries'
body changes
end
end
インストール:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
テスト:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
ウィンドウを使用する場合、 scm-notifier が役立ちます。