Yukarı akış havuzuna bir dizi değişiklik gönderildiğinde bir özet e-posta göndermek için uygun Git kancasını nasıl yapılandırabilirim?
Yukarı akış havuzuna bir dizi değişiklik gönderildiğinde bir özet e-posta göndermek için uygun Git kancasını nasıl yapılandırabilirim?
Yanıtlar:
Bunu yapmanın bir başka, daha modern yolu , aşağıdaki Akorlar tarafından önerildiği gibi git-multimail'dir .
2009'da böyle yaptın.
Sen gibi bir şey ekleyebilirsiniz bu $ GITDIR / kancalarla kancaya-alma sonrası sizin için veya kaynağı contrib dizininde komut dosyasını kullanmak (burada kullanılabilir)
İşte bulduğum en basit çözüm:
1) gitHub hesabınızda oturum açın github.com'da gitHub açın
2) Ana sekmede tıklayın Ayarlar'a
3) Ana navigasyondan seçin Servis Kancalarını
4) Kullanılabilir Kancalardan E-posta'yı seçin
5) Alana e-posta adresinizi girin Adres
6) Onay kutusunu işaretleyin Gönder
7) Onay kutusunu işaretleyin Etkin
8) tıklayın Ayarları Güncelle'ye
İsteğe bağlı: Test Kancasına tıklayabilirsiniz e-posta almanız gereken gelen kutunuzu kontrol edebilirsiniz.
Ayrıca sürece göre yapılmış görüntüler de var:
Ve şimdi büyük final için yanımda test edilen ve onaylanan cevabım var.
GitHub'ın Servis Kancaları-> E-posta yalnızca en fazla 2 alıcıya izin verdiğinde TÜM geliştirme ekibi üyelerine nasıl e-posta gönderilir} .
Cevap kombinasyonudur Service Hook-> Email @ GitHub && Google gruplarının
Bu, birisi arşive her itişinde kullanıcılara e-posta bildirimi gönderme yöntemimdir.
Git Kaydetme E-posta Bildirimini Ayarlama
Andy Parkins'in senaryolarına dayanıyor. E-posta göndermek için kullanılan SMTP olarak değiştirdim. Elbette gmail'in SMTP'si de kullanılabilir.
Robin Sommer'ın 'ın git-notifier da aşağıdaki biçimde çok güzel özetleri oluşturur:
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, ayırt edilebilir bir fark yaratmıyor mu? : - /
Örnek yapılandırma:
# 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] "
Bunu yapmayı başardım, ancak Alexandre Julliard'ın diğer (perl) betiğini değil, katkıda bulunan betiği kullanmayı seçmek zorunda kaldım. Daha süslü ve daha yapılandırılabilir görünüyor, ancak postfix ile "-s" yi kabul edecek bir posta komutum yoktu? İşte benim yolum:
http://pastie.textmate.org/695323
Tam yama, gitweb bağlantısı ve commit grafiği gibi biraz daha fazla bilgi göstermek güzel olurdu, ancak bu betik yalnızca ilkini yapabilir - eğer hooks.showrev ile oynarsam öyle görünüyor.
Her neyse, önerileriniz için teşekkürler ve teşekkürler!
Windows kullanıyorsanız, scm-notifier yardımcı olacaktır.
Github'a özgü olduğu için tam bir cevap değil, ancak Github kullanıyorsanız, "Servis Kancalarını" yapılandırmak son derece kolaydır.
İzlemek istediğiniz her depo için Ayarlar / Hizmet Kancaları'na girin.
Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello ve E-posta gibi pek çok kullanılabilir entegrasyon vardır ...
Sadece e-postayı seçin ve bir grup e-posta adresiyle besleyin.
Geliştiricilerimizi senkronize etmek için e-posta bildirimlerini kullanıyoruz.
GitLab kullanıyorsanız, bunun için 'E-posta gönder' proje hizmetini kullanabilirsiniz, proje ayarlarında hizmetler altında bulunabilir.
Ön işleme kullanabilirsiniz:
#!/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
Yüklemek:
cd project
cp pre-commit .git/hooks
chmod +x .git/hooks/pre-commit
gem install mail
Ölçek:
echo "# some change" >> Gemfile && git commit -m 'some change' Gemfile
In GitLab sizin depo altında:
Yeni bir sayfa açılır Push'ta e-postalar
Ayrıca, kod farklılıklarını devre dışı bırakma seçeneği de vardır , bildirim gövdesinde olası hassas kod farklılıklarını hariç tutan dışı . İsteğe bağlıdır.
Daha fazla ayrıntı için: Buraya Tıklayın