क्या GitHub के पास अंतर सहित सूचनाओं को भेजने का कोई तरीका है?


11

क्या किसी को GitHub ईमेल कमिट करने का एक तरीका पता है / जिसमें कमिटमेंट की पूरी जानकारी शामिल है?

मुझे ईमेल सेवा हुक के बारे में पता है, लेकिन यह अंतर नहीं भेजता है।


आप github.com/github/github-services/issues/149 पर झंकार करना चाहते हो सकता है - सेवा हुक को भी अंतर नहीं मिलता है
एलेक्स डुप्यु

अपनी सांस को रोककर न रखें, हालाँकि, github.com/github/github-services/issues/86 को अप्रैल में बंद कर दिया गया था, इसलिए ऐसा लगता है कि वे या तो 149 के मुद्दे के साथ कुछ भी नहीं करेंगे।
एलेक्स दुपीयू

इस सवाल का जवाब दिया गया (नकारात्मक में, ज्यादातर) stackoverflow.com/questions/4211107/… पर
एलेक्स डुप्यु

@ एलेक्स - क्या आप इस सवाल को अनुत्तरित प्रश्नों के पहले पन्ने से हटाने में मदद के लिए अपनी टिप्पणी पोस्ट करना चाहेंगे?
शैनन वैगनर

@ शान्नोवैगनर - इसलिए पोस्ट किया गया। मैं भी स्थानीय संसाधनों और अन्य उपकरणों का उपयोग करते हुए यह सब करने का एक तरीका लेकर आया था, लेकिन निर्देश केवल एक कठिन रूपरेखा है, और ऐसा करने के लिए स्क्रिप्टिंग, असेंबली और बैटरियों को शामिल नहीं करना होगा।
एलेक्स डुप्यू

जवाबों:


3

इस समय, ऐसा करने का कोई तरीका नहीं है जिसे आप केवल GitHub का उपयोग करना चाहते हैं। जैसा कि /programming/4211107/how-to-get-email-diffs-for-github-pushes में उल्लेख किया गया है , GsHub के भीतर ई-मेल सहित ईमेल भेजने के लिए कोई समर्थन नहीं है। इस बारे में पूछने वाले दो गिटहब मुद्दे उठाए गए हैं - http://github.com/github/github-services/issues/86 (बंद) और http://github.com/github/github-services/issues/149 लेकिन हालांकि वे कहते हैं कि यह कुछ ऐसा है जिसे वे भविष्य में लागू कर सकते हैं, कोई संकेत नहीं है कि ऐसा होगा।

कहा कि, यदि आप अपना स्वयं का (स्थानीय या क्लाउड होस्ट किया गया है, लेकिन स्क्रिप्टिंग के साथ) वेब या ई-मेल सर्वर को git रिपॉजिटरी के साथ चलाने के लिए तैयार हैं, तो आप GitHub पोस्ट-प्राप्त सूचनाओं ( http: //help.github) का उपयोग करके इसे स्वयं बना सकते हैं। .com / लेख / उत्तर प्राप्त-हुक) आपके वेब सर्वर पर भेजा जाता है, या सामान्य (भिन्न के बिना) ई-मेल सूचनाएं आपके ई-मेल सर्वर पर एक विशेष पते पर भेजी जाती हैं। वेब और ई-मेल अधिसूचना के बीच चुनाव आपके सर्वर को कहां और कैसे होस्ट कर रहा है, इसके आधार पर किया जाएगा - यदि आपके पास अच्छी कनेक्टिविटी और विश्वसनीयता है, तो वेब सूचनाओं में सबसे कम विलंबता होगी, लेकिन यदि आपका वेब-सर्वर किसी भी कारण से उपलब्ध नहीं है, तो जब तक आपका वेब सर्वर उपलब्ध नहीं होता है, तब तक आपको एक अधिसूचना नहीं मिलेगी; ई-मेल का उपयोग करने से पूरी प्रक्रिया में देरी होगी, लेकिन बेहतर हो सकता है यदि आप इसे घर पर होस्ट कर रहे हैं, और विशेष रूप से किसी भी मशीन के लिए जो हमेशा चालू नहीं होती है।

किसी भी स्थिति में, आपको एक स्क्रिप्ट लिखनी होगी जो (ई-मेल या वेब / JSON) सूचना लेती है और GitHub से संबंधित रिपॉजिटरी (रिपॉजिटरी) को एक स्थानीय रिपॉजिटरी में खींचती है, जहाँ आपको Git की आंतरिक पोस्ट सेट करनी होगी- http://github.com/jtek/git-hook-update-notify-email जैसे कुछ को चलाने के लिए हुक तंत्र प्राप्त करें (ऊपर दिए गए स्टैकओवरफ़्लो लेख में उल्लेख किया गया है) या यदि आप तैयार हैं और Py Py Pyon कोड को स्थापित करने और उपयोग करने में सक्षम हैं colorizer) शायद कुछ अच्छे लग रहे हैं जैसे http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ ( https से / से लिंक किया गया : //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ )।

यह स्क्रिप्टिंग का एक सा काम है, और इसके लिए आपको वेब या ई-मेल सर्वर, लोकल-पुल स्क्रिप्ट को चलाने के लिए कुछ होस्टिंग अवसंरचना की आवश्यकता होती है, और फिर अलग-अलग ई-मेल को उत्पन्न करने के लिए स्थानीय पोस्ट-हुक प्राप्त होता है, लेकिन इसे एक दिन से भी कम समय में स्थापित करना संभव है।


0

यह संभव है कि प्रत्येक पुश पर गिट भिन्नता उत्पन्न हो और इसे गितुब क्रियाओं का उपयोग करके ईमेल के माध्यम से भेजें । यहाँ उदाहरण है

...
    - name: Generate git diff since last push
      run: |
        # write raw git diff in file
        git diff ${{ github.event.before }} ${{ github.sha }} > git.diff
        # convert raw git diff to html
        git diff ${{ github.event.before }} ${{ github.sha }} | bash ./.github/diff2html.sh > email-body.html
        zip -r diff.zip git.diff email-body.html
    - name: Send git diff mail
      uses: dawidd6/action-send-mail@v2
      with:
        server_address: email-smtp.us-east-1.amazonaws.com
        server_port: 465
        username: ${{secrets.MAIL_USERNAME}}
        password: ${{secrets.MAIL_PASSWORD}}
        subject: Github Actions job result
        # Read file contents as body:
        body: file://email-body.html
        to: pewogab762@wwrmails.com
        from: Luke Skywalker <pewogab762@wwrmails.com>
        # Optional content type (defaults to text/plain):
        content_type: text/html
        attachments: diff.zip
...

HTML पृष्ठ में कनवर्ट किए गए गिट भिन्न को यहां संग्रहीत किया गया है https://github.com/sturman/git-diff-email/blob/master/email-body-example.html

पूरा प्रोजेक्ट यहां संग्रहीत है https://github.com/sturman/git-diff-email/

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