E-mailowy Service Desk z self-hosted GitLab EE i iRedMail
Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał
Aby przetwarzać przychodzące wiadomości e-mail jako issues rejestrowane w GitLabie, potrzebujesz skrzynki catch-all i GitLaba skonfigurowanego do jej obsługi. Jest jednak kilka niuansów, które trzeba znać przy konfiguracji.
Zakładam, że masz zainstalowany GitLab oraz iRedMail.
iRedMail #
Najpierw utwórz nową skrzynkę w panelu administracyjnym iRedMail. Następnie ręcznie utwórz rekord przekierowania. Możesz to pominąć, jeśli kupiłeś iRedMail Pro:
INSERT INTO forwardings
(address, forwarding, domain, dest_domain)
VALUES
('domain.com', 'catchall@domain.com', 'domain.com', 'domain.com');W tym momencie możesz sprawdzić, czy funkcja catch-all działa, wysyłając wiadomość do nieistniejącego użytkownika skrzynki. Szczególnie ważne jest sprawdzenie, czy wiadomości dotrą po wysłaniu na adres catchall+something@domain.com. Początkowo będą pojawiać się jako osobne foldery skrzynki, co z perspektywy GitLaba nie jest dobre. Łatwo to jednak naprawić, usuwając parametr extensions z dovecota. Zmień więc to:
dovecot unix - n n - - pipe
flags=DRh ... -m ${extension}na to:
dovecot unix - n n - - pipe
flags=DRh ...I uruchom /etc/init.d/postix restart
GitLab #
Jeśli chodzi o sam GitLab, sprawa jest prosta. Wystarczy edytować parametry incoming_email* w /etc/gitlab/gitlab.rb. Trzeba jednak użyć IMAP, więc wybierz między portami 143 i 993. Pierwszy jest przeznaczony do STARTTLS, a drugi do TLS. W przypadku domyślnej instalacji iRedMail będzie certyfikat self-signed i przychodzące e-maile nie będą działać, co swoją drogą możesz sprawdzić następującym poleceniem:
sudo gitlab-rake gitlab:incoming_email:checkGdy uzupełnisz wszystkie wymagane parametry:
sudo gitlab-ctl reconfigurePamiętaj, że cała konfiguracja, którą zmieniłeś w PostgreSQL, zostanie odrzucona (/var/opt/gitlab/postgresql/data/pg_hba.conf i /var/opt/gitlab/postgresql/data/postgresql.conf), więc musisz się tym zająć – albo przez szablony, albo umieszczając ją w głównej konfiguracji GitLaba.
Pobierz certyfikat iRedMail. Możesz go pobrać przez przeglądarkę. Zapisz go jako plik .crt w katalogu /etc/gitlab/trusted-certs. Następnie wykonaj ponownie reconfigure i jeszcze raz sprawdź łączność. Wszystko powinno działać.
Jak z tego korzystać? #
W GitLabie service desk jest automatycznie włączony we wszystkich tworzonych projektach. Znajdziesz go w Monitor – Service Desk. Znajdziesz tam również docelowy adres e-mail, na który będziesz wysyłać wiadomości do service desku. Po wysłaniu wiadomość pojawi się w tej sekcji jako issue. Możesz komentować i odpowiadać bezpośrednio z klienta poczty, bez potrzeby odwiedzania samego GitLaba.