रेपो परिवर्तनों पर ईमेल सूचना भेजने के लिए हुक का प्रयोग करें


101

जब भी परिवर्तन का एक सेट अपस्ट्रीम रिपॉजिटरी में धकेल दिया जाता है, तो मैं एक सारांश ईमेल भेजने के लिए उपयुक्त Git हुक को कैसे कॉन्फ़िगर करूं?


किसी भी Git के लिए संस्करण अद्यतन (नया लेबल) के लिए रेपो आप उपयोग कर सकते git-notifier.com ईमेल सूचनाएं (मुक्त) या एसएमएस सूचनाएं भेजने के लिए (भुगतान)
Scholtz

जवाबों:


94

एक अन्य, अधिक आधुनिक यह करने के लिए जिस तरह से साथ है Git-multimail रूप ने सुझाव दिया, कॉर्ड्स नीचे।


ऐसा आपने 2009 में किया था।

आप अपने पोस्ट-प्राप्त हुक को $ GITDIR / हुक में कुछ इस तरह जोड़ सकते हैं , या स्रोत के कंट्री डायरेक्टरी में स्क्रिप्ट का उपयोग कर सकते हैं (यहाँ उपलब्ध है)


अगर मैं उस स्क्रिप्ट को अपने हुक में संदर्भित करता हूं, तो संदर्भित स्क्रिप्ट को अपस्ट्रीम होस्ट या स्थानीय रूप से निवास करना है?
हेड

4
वह होस्ट जो हुक को निष्पादित कर रहा है, इसलिए पोस्ट-प्राप्त होने की स्थिति में, अपस्ट्रीम होस्ट (जबकि पोस्ट-पोस्ट हुक को होस्ट पर उस स्क्रिप्ट की आवश्यकता होगी जो आप कमिट चला रहे हैं)।
mwalling

2
आह, लेकिन आप जवाब स्वीकार कर सकते हैं और आप दोनों को अधिक प्रतिष्ठा मिलेगी!
पाट नॉट

मुझे जो हिस्सा मिला है, वह प्राप्तकर्ता सूची सेट कर रहा था। मैंने अंत में यह समझ लिया कि आपको git config का उपयोग करने की आवश्यकता है: git config hooks.mailinglist "person1@example.com, person2@example.com"
ewalk

4
यह ध्यान देने योग्य है कि इस उत्तर में लिंक सक्रिय विकास के तहत नहीं है। इसके बजाय, मल्टीमेल का उपयोग करें , जो कि रीडमे में उल्लिखित है।
कॉर्ड्स

19

यहाँ सबसे सरल समाधान है जो मैंने पाया है:

1) github.com पर अपने gitHub खाते में लॉग इन करें

2) मेन टैब में सेटिंग्स पर क्लिक करें

3) मुख्य नेविगेशन से सर्विस हुक चुनें

4) उपलब्ध हुक से ईमेल चुनें

5) फील्ड एड्रेस में अपना ईमेल एड्रेस भरें

6) लेखक से भेजें चेकबॉक्स की जाँच करें

7) चेकबॉक्स एक्टिव चेक करें

8) अपडेट सेटिंग्स पर क्लिक करें

वैकल्पिक: आप परीक्षण के लिए टेस्ट हुक पर क्लिक कर सकते हैं , अपने इनबॉक्स की जांच करें जिसे आपको ईमेल प्राप्त करना चाहिए।

प्रक्रिया के अनुसार बनाई गई छवियां भी हैं:

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

और अब ग्रैंड फाइनल के लिए मेरे पास जवाब है जो मेरी तरफ से परीक्षण और अनुमोदित है।

सभी विकास दल के सदस्यों को ईमेल कैसे भेजें, जब gitHub का सर्विस हुक-> ईमेल केवल अधिकतम 2 प्राप्तकर्ताओं को अनुमति देता है}

इसका जवाब है सर्विस हुक-> ईमेल @ GitHub && Google समूह

  1. सबसे पहले अपने google अकाउंट में लॉगिन करें
  2. Google Group पर जाएं और Create Group पर सबसे ऊपर क्लिक करें
  3. समूह का नाम, समूह ईमेल पता (GitHub Service हुक-> ईमेल पता में कॉपी / पेस्ट करें), समूह विवरण टाइप करें
  4. उसके बाद सबसे ऊपर Create बटन पर हिट करें, अब आपका नया समूह बनाया जाना चाहिए
  5. उसके बाद बाईं ओर स्थित मेनू में सदस्यों को आमंत्रित करें और अपनी टीम के साथियों के ईमेल पते में टाइप करें
  6. इसके बाद हिट भेजें आमंत्रण (जब आपके सदस्य निमंत्रण स्वीकार करते हैं) अब वे औपचारिक रूप से इस समूह के सदस्य हैं
  7. सभी सदस्यों पर बाईं ओर स्थित मेनू में और डिलीवरी नामक 4 वें कॉलम की जांच करें , टीम के प्रत्येक सदस्य के पास ऑल ईमेल विकल्प होना चाहिए ।
  8. उसके बाद मैं श्री क्लेमेंट एस्कॉफियर को श्रेय देना चाहूंगा और कृपया उनके दिशानिर्देशों का पालन करूंगा @ क्लेमेंट एस्कॉफियर :: इसे समाप्त करने के तरीके पर एक Google समूह को Github भेजें । {धन्यवाद क्लीमेंट :)}
  9. यदि लिंक अनुपलब्ध हो जाता है, तो मेरे gDocs @ PDF संस्करण का एक अन्य लिंक है मार्गदर्शिकाएँ

19
यह जीथब सॉल्यूशन है। प्रश्न में कुछ भी नहीं बताता है कि उपयोगकर्ता जीथब का उपयोग कर रहा है। ऐसा लगता है कि यह गितुब पर एक प्रश्न के लिए एक सही जवाब है।
दारोमदार

3
यह ईमेल सेवा अक्टूबर 2018 के बाद बंद होने वाली है। इसलिए यह उत्तर उस बिंदु के बाद मान्य नहीं है। डेवलपर।
github.com/changes/…

10

यह हर बार उपयोगकर्ताओं को ईमेल सूचना भेजने का मेरा तरीका है, जब कोई रिपॉजिटरी को कोई एक धक्का देता है।

Git प्रतिबद्ध ईमेल अधिसूचना की स्थापना

यह एंडी पार्किंस की लिपियों पर आधारित है। मैं ईमेल भेजने के लिए इसका इस्तेमाल एसएमटीपी में बदल देता हूं। बेशक, gmail का SMTP भी उपयोग किया जा सकता है।


5

रॉबिन सोमर की गिट-नोटिफायर निम्न प्रारूप में भी बहुत अच्छी सारांश उत्पन्न करती है:

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)

4

हुकशोवरे की स्थापना से कोई अंतर नहीं पड़ रहा है? : - /

नमूना विवरण:

# 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] "

आह, git.kernel.org संस्करण आदरणीय हुकसेशोवरे को बदल देता है, लेकिन डिफ़ॉल्ट गिट इंस्टॉलेशन स्क्रिप्ट नहीं थी! बस स्क्रिप्ट को बदल दिया गया, + x को chmod और फिर यह काम करता है! फिर भी showrev सिंटैक्स को समझने की आवश्यकता है
HiQ CJ

दिखाने के साथ इसी तरह के मुद्दे यहाँ
भिन्न होते

1

मैं ऐसा करने में कामयाब रहा, लेकिन एलेक्जेंडर जूलार्ड द्वारा अन्य (पर्ल) स्क्रिप्ट नहीं, बल्कि कंट्री स्क्रिप्ट का उपयोग करने का विकल्प चुनना था। यह कट्टर और अधिक विन्यास लगता है, लेकिन पोस्टफ़िक्स के साथ मेरे पास कोई मेल कमांड नहीं था जो "-s" को स्वीकार करेगा? यहाँ मेरा तरीका है:

http://pastie.textmate.org/695323

कुछ और जानकारी दिखाना अच्छा होगा, जैसे कि फुल पैच, गिटवेब लिंक और कमिट ग्राफ, लेकिन यह स्क्रिप्ट केवल पहली बार ही कर सकती है - अगर मैं हुक्सशो के साथ खेलता हूं तो ऐसा लगता है।

वैसे भी, सुझाव के लिए चीयर्स और धन्यवाद!



0

वास्तव में इसका पूर्ण उत्तर नहीं है क्योंकि यह गितुब-विशिष्ट है, लेकिन यदि आप गितुब का उपयोग करते हैं तो "सर्विस हुक" को कॉन्फ़िगर करना बेहद आसान है।
प्रत्येक रिपॉजिटरी के लिए जिसे आप मॉनिटर करना चाहते हैं, सेटिंग्स / सर्विस हुक डालें।
ट्राक, ट्विटर, अमेज़ॅन एसएनएस, जीरा, आसन, बुगज़िला, फॉगबुग, आईआरसी, जेबर, पिवट्रल ट्रैकर, ट्रेलो और ईमेल जैसे कई उपलब्ध एकीकरण हैं।
बस ईमेल का चयन करें और इसे एक समूह ईमेल पते के साथ फ़ीड करें।
हम अपने डेवलपर्स को सिंक करने के लिए ईमेल नोटिफिकेशन का उपयोग करते हैं।


0

यदि आप GitLab का उपयोग करते हैं तो आप इसके लिए 'ईमेल-ऑन-पुश' परियोजना सेवा का उपयोग कर सकते हैं, यह परियोजना सेटिंग्स में सेवाओं के तहत पाया जा सकता है।


0

आप पूर्व-उपयोग कर सकते हैं:

#!/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

0

में GitLab अपने भंडार के तहत:

  1. Setting पर क्लिक करे।
  2. जब वहाँ विस्तार स्थापित करते हैं तो आप एकीकरण देखेंगे । इस पर क्लिक करें।

पुश पर एक नया पेज ईमेल खुलता है

  1. स्थिति जानें और कमिट से भेजें चुनें ।
  2. इसके अलावा, अंतिम फ़ील्ड में स्थित अल्पविराम के साथ प्राप्तकर्ता को दर्ज करें ।

इसके अलावा अक्षम कोड भिन्न के लिए एक विकल्प है जो अधिसूचना शरीर में संभवतः संवेदनशील कोड को अलग करता है। यह वैकल्पिक है।

अधिक जानकारी के लिए: यहां क्लिक करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.