Herkes GitHub e-posta taahhüt / çekme isteği bildirimleri taahhüt tüm fark dahil olmak için bir yol biliyor mu?
E-posta hizmeti kanca hakkında biliyorum, ama bu fark göndermez.
Herkes GitHub e-posta taahhüt / çekme isteği bildirimleri taahhüt tüm fark dahil olmak için bir yol biliyor mu?
E-posta hizmeti kanca hakkında biliyorum, ama bu fark göndermez.
Yanıtlar:
Şu anda, sadece GitHub'ı kullanarak istediğinizi yapmanın bir yolu yoktur. Https://stackoverflow.com/questions/4211107/how-to-get-email-diffs-for-github-pushes bölümünde belirtildiği gibi GitHub'da diffs dahil olmak üzere e-posta gönderme desteği yoktur. Bunun hakkında soran iki GitHub sorunu var - http://github.com/github/github-services/issues/86 (kapalı) ve http://github.com/github/github-services/issues/149 ama bunun gelecekte uygulayabilecekleri bir şey olduğunu söylüyorlar, bunun olacağına dair bir gösterge yok.
Bununla birlikte, git deposu ile kendi (yerel veya bulutta barındırılan, ancak komut dosyasıyla) web veya e-posta sunucunuzu çalıştırmak istiyorsanız, GitHub alma sonrası bildirimlerini ( http: //help.github) kullanarak kendiniz oluşturabilirsiniz. .com / makaleler / post-alma-kancalar) web sunucunuza gönderilir veya e-posta sunucunuzdaki özel bir adrese gönderilen normal (diffs olmadan) e-posta bildirimleri. Web ve e-posta bildirimi arasındaki seçim, sunucunuzu nerede ve nasıl barındırdığınıza bağlı olarak yapılacaktır - iyi bir bağlantınız ve güvenilirliğiniz varsa, web bildirimlerinin en düşük gecikme süresi olacaktır, ancak web sunucunuza herhangi bir nedenle erişilemiyorsa, web sunucunuza erişilebilecek bir sonraki işleme kadar bildirim almazsınız; e-posta kullanmak tüm süreci geciktirir, ancak bunu evde barındırıyorsanız ve özellikle her zaman açık olmayan herhangi bir makine için tercih edilebilir.
Her iki durumda da, (e-posta veya web / JSON) bildirimini alan ve ilgili depoları GitHub'dan yerel bir depoya çeken bir komut dosyası yazmanız gerekir; burada Git'in dahili postasını ayarlamanız gerekir. http://github.com/jtek/git-hook-update-notify-email (yukarıdaki yığın akışı makalesinde bahsedilir) gibi bir şeyi çalıştırmak veya kancalar (Python kodu (Python kodu) yüklemek ve kullanmak istiyorsanız, kanca mekanizması alın renklendirici) belki de http://blog.chomperstomp.com/making-git-show-post-receive-e-mails-as-an-html-color-formatted-diff/ ( https ile bağlantılı / https: //stackoverflow.com/questions/3232270/git-post-receive-email-hook-to-show-an-html-formatted-color-diff/ ).
Biraz komut dosyası çalışması ve web veya e-posta sunucusunu, yerel çekme komut dosyasını ve ardından diffs ile gerçek e-postayı oluşturmak için yerel alma sonrası kancasını çalıştırmak için bazı barındırma altyapınız olmasını gerektirir, ancak bunu bir günden daha kısa sürede ayarlamak mümkün olmalıdır.
Her pushta git diff oluşturup Github Eylemleri'ni kullanarak e-posta ile göndermek mümkündür . İşte örnek
...
- 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 sayfasına dönüştürülen git fark burada depolanır https://github.com/sturman/git-diff-email/blob/master/email-body-example.html
Projenin tamamı burada saklanır https://github.com/sturman/git-diff-email/