Przejdź do głównej zawartości

Webhooki

Elementy webhook powiadamiają system zewnętrzny o zakończeniu zaplanowanego eksportu. Są one dostarczane przez aplikację Exportelier Automation i pozostają wyłączone, dopóki administrator witryny nie włączy dostarczania elementu webhook.

Dostępne typy webhooków

  • Przychodzący webhook Slack — wysyła podsumowanie eksportu jako zwykłą wiadomość kanału.
  • Webhook przepływu pracy Microsoft Teams — publikuje kartę Adaptive Card 1.2 za pośrednictwem utworzonego przez klienta przepływu pracy Teams.

Konfiguracja webhooka Ustawienia punktu końcowego webhooka z typem, maskowanym odwołaniem i stanem.

Linki webhooka — nie przesyłają pliku do Slacka ani Teams

Webhook nigdy nie dołącza wygenerowanego pliku PDF, DOCX ani Markdown do wiadomości dostawcy. Domyślnie zaplanowany eksport pojedynczego wydania łączy się z jego wydaniem Jira. Jeśli w tym samym przebiegu znajduje się również pomyślny cel załącznika Jira, wiadomość zawiera łącze do wygenerowanego załącznika. Obydwa linki pozostają wewnątrz Jira i wymagają od odbiorcy posiadania odpowiedniego dostępu Jira.

Jak wygląda wiadomość

Obydwa kanały wysyłają tę samą linię podsumowania:

Exportelier export "Weekly sprint report": sprint-report-2026-09-01.pdf (14 issues)
  • Slack otrzymuje podsumowanie, a następnie klikalne łącza Otwórz Jira wydanie i Otwórz dokument, jeśli są dostępne.
  • Teams otrzymuje kartę adaptacyjną 1.2 z nagłówkiem Exportelier export: <schedule name>, tą samą linią podsumowania co jej treść i odpowiadającymi jej działaniami OpenUrl, jeśli są dostępne.

Link do wydania Jira jest pomijany w przypadku eksportu wielu wydań. Łącze do dokumentu jest pomijane, chyba że jako pierwszy pomyślnie zakończy się cel załącznika Jira. Komunikat punktu końcowego Test nie zawiera żadnego łącza, ponieważ nie eksportuje ani nie dołącza dokumentu.

Konfiguracja

Obydwa kanały składają się z tych samych trzech części: jednokrotne włączenie dostarczania, zarejestrowanie punktu końcowego, a następnie wybranie go zgodnie z harmonogramem.

1. Włącz dostarczanie webhooka

W Exportelier Automation otwórz Ustawienia → Dostawa zewnętrzna i włącz Włącz dostarczanie webhooka. Pojawi się okno dialogowe potwierdzenia — w tym miejscu administrator witryny wyraźnie akceptuje pozostawienie danych Atlassian.

Dopóki ten przełącznik nie jest włączony, cel dostarczania Webhook pozostaje wyszarzony w każdym harmonogramie i nic nie jest nigdy wysyłane.

2a. Zarejestruj przychodzącego webhooka w Slack

Slack wydaje przychodzące adresy URL webhooka za pośrednictwem aplikacji Slack:

  1. Otwórz api.slack.com/apps i wybierz Utwórz nową aplikację → Od podstaw. Nadaj mu nazwę — na przykład Exportelier — i wybierz docelowy obszar roboczy.
  2. Na pasku bocznym aplikacji otwórz Przychodzące webhooki i włącz opcję Aktywuj przychodzące webhooki.
  3. Kliknij Dodaj nowy webhook do obszaru roboczego, wybierz kanał, który powinien otrzymywać powiadomienia i potwierdź za pomocą Allow.
  4. Skopiuj wygenerowany URL webhooka. Ma postać https://hooks.slack.com/services/T…/B…/…. Traktuj je jak hasło: każda osoba je posiadająca może publikować posty na tym kanale.
  5. W Exportelier Automation przejdź do Ustawienia → Punkty końcowe webhooka, ustaw Channel na Slack przychodzące webhook, wklej adres URL do Endpoint i kliknij Dodaj punkt końcowy.

Exportelier akceptuje adresy URL HTTPS tylko na hoście hooks.slack.com. Wiadomości pojawiają się pod nazwą i ikoną utworzonej aplikacji Slack; oba można zmienić w Slacku w Informacje podstawowe → Informacje o wyświetlaczu.

Nie jest to adres URL wyzwalacza Konstruktora przepływu pracy

Slack Workflow Builder również udostępnia adresy URL hooks.slack.com, ale wyglądają one jak https://hooks.slack.com/triggers/… i oczekują nazwanych zmiennych tego przepływu pracy, a nie pola text. Kontrola hosta Exportelier akceptuje taki adres URL, ale na kanale nie pojawi się żaden czytelny komunikat. Użyj przychodzącego webhooka (/services/…) z aplikacji Slack, jak opisano powyżej.

2b. Zarejestruj webhook przepływu pracy Microsoft Teams

Firma Microsoft wycofała elementy webhook Office 365 Connector w maju 2026 r. Dlatego Exportelier akceptuje nowe punkty końcowe Teams tylko z przepływów pracy Microsoft Teams.

  1. W docelowym kanale Teams otwórz Więcej opcji (…) → Przepływy pracy.
  2. Wybierz Wyślij alerty webhooka na kanał. To jest szablon Anyone. Jeśli tworzysz przepływ pracy od podstaw, wybierz wyzwalacz Po odebraniu żądania webhooka Teams i ustaw jego typ uwierzytelniania na Każdy.
  3. Uwierzytelnij konto Microsoft, które będzie właścicielem przepływu pracy, wybierz zespół i kanał, a następnie dodaj przepływ pracy. Firma Microsoft twierdzi, że te szablony webhook Teams nie wymagają licencji premium.
  4. Skopiuj wygenerowany adres URL. Traktuj to jak hasło: każdy, kto ma podpisany adres URL, może uruchomić przepływ pracy.
  5. W Exportelier Automation przejdź do Ustawienia → Punkty końcowe webhooka, ustaw Channel na Przepływ pracy w Microsoft Teams webhook, wklej adres URL do Endpoint i kliknij Dodaj punkt końcowy.

Obsługiwane adresy URL korzystają z protokołu HTTPS w subdomenie environment.api.powerplatform.com lub logic.azure.com. Exportelier nie wysyła nagłówka OAuth; tajny adres URL Anyone autoryzuje żądanie.

Wiadomości pojawiają się pod domyślną tożsamością bota Workflows firmy Microsoft. Firma Microsoft nie obsługuje niestandardowej nazwy ani ikony bota dla tych wpisów webhook.

Wycofane łączniki Office 365

Przechowywane punkty końcowe *.webhook.office.com pozostają widoczne jako Wymagane działanie, więc harmonogramy nie są zmieniane po cichu. Utwórz i przetestuj nowy punkt końcowy przepływu pracy, zaktualizuj każdy harmonogram, którego to dotyczy, i dopiero wtedy usuń starszy punkt końcowy. Starsze punkty końcowe są niedostępne dla nowych harmonogramów i lokalnie kończą się niepowodzeniem przed wysłaniem jakiegokolwiek żądania.

2c. Sprawdź punkt końcowy

Każdy zarejestrowany punkt końcowy ma przycisk Test. Wysyła jedną stałą wiadomość —

Exportelier test message: this webhook endpoint is configured correctly. No export was generated.

— przez tę samą bramę wyjściową, przechowywany sekret i narzędzie do tworzenia ładunku, z którego korzysta zaplanowane uruchomienie, więc pozytywny test potwierdza ścieżkę dostarczenia, a nie tylko format adresu URL. Wiersz pokazuje Dostarczono w przypadku powodzenia; w przypadku awarii przyczyna pojawia się nad tabelą i odpowiada poniższej liście problemów.

Przycisk jest wyszarzony, gdy dostarczanie webhooka jest wyłączone, ponieważ nic nie zostanie wysłane.

3. Wybierz punkt końcowy w harmonogramie

Otwórz Schedules, edytuj harmonogram, który powinien powiadamiać, i dodaj cel dostawy Webhook. Wybierz Channel, a następnie Stored endpoint — punkty końcowe są wyświetlane według ich zamaskowanego odniesienia, ponieważ sam adres URL nigdy nie jest zwracany do przeglądarki po zapisaniu.

Obie opcje połączenia są domyślnie włączone i można je wyłączyć indywidualnie. Harmonogram może łączyć cele: w tym samym przebiegu można dołączyć dokument do problemu Jira i opublikować powiadomienie webhooka. Exportelier kończy cel załącznika przed webhookiem żądającym łącza do dokumentu, niezależnie od ich wyświetlanej kolejności.

Rozwiązywanie problemów

Nic nie dociera natychmiast. Exportelier Automation co pięć minut sprawdza terminy dostaw, więc dostawa może być opóźniona do skonfigurowanego czasu nawet o pięć minut. Aby sprawdzić punkt końcowy bez czekania na uruchomienie, użyj jego przycisku Test w obszarze Ustawienia → Punkty końcowe webhooka — zgłasza te same komunikaty, co zaplanowane uruchomienie.

Sprawdź wynik ostatniego uruchomienia. Lista Harmonogramy zawiera kolumnę Ostatnie wykonanie ze statusem Udane, Częściowe pomyślne lub Wykonanie nie powiodło się i pokazuje przyczynę niepowodzenia. Uruchomienie, które wygenerowało dokument, ale nie mogło opublikować elementu webhook, jest zgłaszane jako Częściowo pomyślne.

WiadomośćCo to oznacza
Dostarczanie webhooka zostało wyłączone przez administratora.Przełącznik Włącz dostarczanie webhooka w Ustawienia → Dostarczanie zewnętrzne jest wyłączony.
Punkt końcowy webhooka nie jest skonfigurowany.Zapisany punkt końcowy został odwołany w Exportelier, podczas gdy harmonogram nadal się do niego odwoływał. Zarejestruj go ponownie i wybierz ponownie w harmonogramie.
Przechowywane hasło nie pasuje do tego kanału webhooka.Kanał harmonogramu został przełączony do innego dostawcy bez wybierania pasującego punktu końcowego.
Punkt końcowy webhooka odrzucił żądanie.Dostawca odpowiedział z błędem — zazwyczaj webhook odwołany w Slacku lub przepływ pracy Teams, który został wyłączony lub usunięty. Utwórz nowy punkt końcowy po stronie dostawcy.
Webhook Slack musi używać adresu URL https hooks.slack.com.Adres URL został odrzucony w czasie zapisywania. Skopiuj go ponownie ze strony Przychodzące webhooks aplikacji Slack.
To złącze Microsoft Teams nie jest już obsługiwane.Wycofane złącze *.webhook.office.com. Zastąp go punktem końcowym przepływu pracy, jak opisano powyżej.

W ogóle nic na kanale, ale przebieg kończy się pomyślnie. Zarówno Slack, jak i Teams odpowiadają na 200 przed wyświetleniem wiadomości. Sprawdź, czy webhook jest nadal powiązany z oczekiwanym kanałem — w Slacku pod Przychodzące webhooks, w Teams pod Workflows.

Niezawodność i bezpieczeństwo

  • Dostarczanie elementu webhook jest domyślnie wyłączone i wymaga wyraźnego potwierdzenia przez administratora.
  • Adresy URL punktów końcowych są przechowywane jako zaszyfrowane sekrety Forge, po zapisaniu nigdy nie są zwracane do przeglądarki i są wyświetlane jedynie jako zamaskowane odniesienie. Nie wolno ich umieszczać w zgłoszeniach, zrzutach ekranu ani logach.
  • Włączone opcje łącza wysyłają adres strony Jira oraz, w przypadku eksportu pojedynczego wydania, klucz problemu do zewnętrznego dostawcy. Wygenerowane adresy URL nie zawierają żadnych danych uwierzytelniających ani podpisanych parametrów zapytania i nadal wymagają uwierzytelnienia i uprawnień Jira.
  • Żąda przekroczenia limitu czasu po 10 sekundach i ponownej próby tylko raz w przypadku awarii sieci, HTTP 429 lub 5xx. Odpowiedź 4xx jest ostateczna i nie jest ponawiana.
  • Pomyślna odpowiedź dostawcy, zawierająca HTTP 200 lub 202, oznacza cel jako dostarczony.

Zobacz Architektura bezpieczeństwa, aby dowiedzieć się, jak izolowany jest sygnał wyjściowy, oraz stronę API, aby zapoznać się z wyzwalaniem programowym.