Git-крючок для отправки уведомлений по электронной почте об изменениях репо
101
Как мне настроить соответствующий Git-обработчик для отправки сводного электронного письма всякий раз, когда набор изменений помещается в вышестоящий репозиторий?
Для обновления версии (новый ярлык) для любого репозитория git вы можете использовать git-notifier.com для отправки уведомлений по электронной почте (бесплатно) или уведомлений по SMS (платно)
Шольц
Ответы:
94
Другой, более современный способ сделать это - использовать git-multimail , как предлагает Chords ниже.
Вот как вы это сделали в 2009 году.
Вы можете добавить что - то вроде этого , чтобы ваш пост-получить крюк в $ GITDIR / крюками, или использовать скрипт в каталоге CONTRIB источника (доступно здесь)
Если я ссылаюсь на этот скрипт в своих хуках, должен ли ссылаться скрипт на вышестоящем хосте или локально?
Head
4
Хост, который выполняет перехват, поэтому в случае пост-приема - восходящий хост (тогда как перехватчику после фиксации потребуется сценарий на хосте, на котором выполняется фиксация).
mwalling
2
Аааа, но вы можете принять ответ, и вы оба получите больше репутации!
Пэт Нотц,
Часть, которая меня поразила, заключалась в настройке списка получателей. Наконец-то я понял, что вам нужно использовать git config: git config hooks.mailinglist "person1@example.com, person2@example.com"
ewalk
4
Стоит отметить, что ссылка в этом ответе больше не находится в активной разработке. Вместо этого используйте мультимедийную почту , о которой говорится в файле readme.
Аккорды
19
Вот простейшее решение, которое я нашел:
1) Войдите в свою учетную запись gitHub на github.com
2) На главной вкладке нажмите Настройки.
3) На главной панели навигации выберите Service Hooks.
4) Из доступных хуков выберите электронную почту.
5) Введите свой адрес электронной почты в поле Адрес
6) Установите флажок Отправить от автора.
7) Установите флажок Активно
8) Нажмите « Обновить настройки».
Необязательно: вы можете нажать Test Hook для тестирования, проверьте свой почтовый ящик, вы должны получить электронное письмо.
Также есть изображения, сделанные по технологии:
А теперь к гранд-финалу у меня есть ответ, который проверен и одобрен на моей стороне.
Как отправить электронное письмо ВСЕМ членам команды разработчиков, когда сервисные хуки-> Электронная почта gitHub допускают не более двух получателей} .
Ответ - комбинация Service Hook-> Email @ GitHub && групп Google.
Первый вход в свою учетную запись google
Зайдите в Google Groups и вверху нажмите Create Group.
Введите имя группы, адрес электронной почты группы (будет скопирован / вставлен в GitHub Service Hook-> Адрес электронной почты), описание группы
После этого нажмите кнопку «Создать» вверху, ваша новая группа должна быть создана сейчас.
После этого в меню слева нажмите Пригласить участников и введите адреса электронной почты ваших товарищей по команде.
После этого нажмите Отправить приглашения (когда ваши участники принимают приглашение), они теперь формально являются членами этой группы.
В меню слева нажмите « Все участники» и отметьте 4-й столбец « Доставка» , у каждого члена команды должна быть опция «
Вся электронная почта» .
Это решение для гитхаба. Ничто в вопросе не говорит мне, что пользователь использует github. Похоже, это идеальный ответ на вопрос о github.
daramarak
3
Эта служба электронной почты будет прекращена после октября 2018 года. Таким образом, этот ответ недействителен после этого момента. developer.github.com/changes/…
Jeegar Patel
10
Это мой способ отправлять пользователям уведомления по электронной почте каждый раз, когда кто-то нажимает на репозиторий.
Оказывается, версия git.kernel.org уважает hooks.showrev, но скрипт установки git по умолчанию - нет! Просто заменил скрипт chmod a + x и все заработало! Тем не менее, нужно понимать синтаксис
Мне удалось это сделать, но пришлось выбрать использование сценария contrib, а не другого сценария (perl) Александра Джуллиарда. Это кажется более привлекательным и настраиваемым, но с postfix у меня не было почтовой команды, которая принимала бы "-s"? Вот мой путь:
Было бы неплохо показать дополнительную информацию, например, полный патч, ссылку на gitweb и график фиксации, но этот скрипт может сделать только первое - если я поиграю с hooks.showrev, кажется.
В любом случае, приветствую и спасибо за предложения!
Не совсем полный ответ, поскольку он специфичен для Github, но если вы используете Github, настроить «Service Hooks» очень просто.
Для каждого репозитория, который вы хотите отслеживать, введите «Настройки» / «Сервисные хуки».
Существует множество доступных интеграций, таких как Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello и электронная почта ....
Просто выберите электронную почту и загрузите ее с групповым адресом электронной почты.
Мы используем уведомления по электронной почте для синхронизации наших разработчиков.
#!/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
Ответы:
Другой, более современный способ сделать это - использовать git-multimail , как предлагает Chords ниже.
Вот как вы это сделали в 2009 году.
Вы можете добавить что - то вроде этого , чтобы ваш пост-получить крюк в $ GITDIR / крюками, или использовать скрипт в каталоге CONTRIB источника (доступно здесь)
источник
Вот простейшее решение, которое я нашел:
1) Войдите в свою учетную запись gitHub на github.com
2) На главной вкладке нажмите Настройки.
3) На главной панели навигации выберите Service Hooks.
4) Из доступных хуков выберите электронную почту.
5) Введите свой адрес электронной почты в поле Адрес
6) Установите флажок Отправить от автора.
7) Установите флажок Активно
8) Нажмите « Обновить настройки».
Необязательно: вы можете нажать Test Hook для тестирования, проверьте свой почтовый ящик, вы должны получить электронное письмо.
Также есть изображения, сделанные по технологии:
А теперь к гранд-финалу у меня есть ответ, который проверен и одобрен на моей стороне.
Как отправить электронное письмо ВСЕМ членам команды разработчиков, когда сервисные хуки-> Электронная почта gitHub допускают не более двух получателей} .
Ответ - комбинация Service Hook-> Email @ GitHub && групп Google.
источник
Это мой способ отправлять пользователям уведомления по электронной почте каждый раз, когда кто-то нажимает на репозиторий.
Настройка уведомления по электронной почте Git Commit
Он основан на сценариях Энди Паркинса. Я меняю его на использование SMTP для отправки электронной почты. Конечно, можно также использовать SMTP Gmail.
источник
Робин Sommer «сек ГИТ-уведомитель создает очень хорошие резюме в следующем формате:
источник
установка hooks.showrev не имеет никакого значения? : - /
Пример конфигурации:
источник
Мне удалось это сделать, но пришлось выбрать использование сценария contrib, а не другого сценария (perl) Александра Джуллиарда. Это кажется более привлекательным и настраиваемым, но с postfix у меня не было почтовой команды, которая принимала бы "-s"? Вот мой путь:
http://pastie.textmate.org/695323
Было бы неплохо показать дополнительную информацию, например, полный патч, ссылку на gitweb и график фиксации, но этот скрипт может сделать только первое - если я поиграю с hooks.showrev, кажется.
В любом случае, приветствую и спасибо за предложения!
источник
Если вы используете окна, вам пригодится scm-notifier .
источник
Не совсем полный ответ, поскольку он специфичен для Github, но если вы используете Github, настроить «Service Hooks» очень просто.
Для каждого репозитория, который вы хотите отслеживать, введите «Настройки» / «Сервисные хуки».
Существует множество доступных интеграций, таких как Trac, Twitter, Amazon SNS, Jira, Asana, Bugzilla, FogBugz, IRC, Jabber, Pivotal Tracker, Trello и электронная почта ....
Просто выберите электронную почту и загрузите ее с групповым адресом электронной почты.
Мы используем уведомления по электронной почте для синхронизации наших разработчиков.
источник
Если вы используете GitLab, вы можете использовать для этого службу проекта «Email-on-push», ее можно найти в разделе «Сервисы» в настройках проекта.
источник
Вы можете использовать предварительную фиксацию:
Установить:
Тест:
источник
В GitLab в вашем репозитории:
Открывается новая страница Электронные письма при нажатии
Также есть опция Отключить различия кода, которые исключают потенциально чувствительные различия кода в теле уведомления. Это необязательно.
Для получения дополнительной информации: нажмите здесь
источник