W artykule poruszę temat automatyzacji w Confluence, przybliżając m.in. takie aspekty jak: wybór triggerów, conditions i actions oraz prezentując przykładową automatyzację. Rozwiązanie jest bardzo przydatne podczas wykonywaniu codziennych, zespołowych zadań, dlatego zapraszam serdecznie do lektury.
Automatyzacje w Confluence
Na automatyzacje w Confluence każdy czekał, ale nikt nie zasługiwał 😉 W końcu są. Póki co, dostępne tylko dla użytkowników Confluence Cloud Premium oraz Enterprise.
Głównym założeniem automatyzacji Confluence jest zaoszczędzenie czasu i energii, którą poświęcamy w ciągu dnia na ręczną, „papierkową” robotę. Taka codzienna rutyna może zostać zastąpiona prostymi automatami działającymi w tle. Przykładowo, możesz przestać pisać każdego dnia o postępach prac Twojego zespołu, ponieważ zrobi to za Ciebie automat. Nie musisz już stresować się przypominaniem współpracownikom o niedokończonych zadaniach – obowiązek przejmie od Ciebie automat.
Gdzie znajdziemy automatyzacje?
Jeżeli chcemy wykonać automatyzację tylko na jednym space’ie, znajdziemy ją w opcjach każdego z nich.
W przypadku potrzeby utworzenia automatyzacji dla kilku space’ów lub całej instancji musimy wejść w Globalne ustawienia i tam ją utworzyć.
Tak samo jak w przypadku Jiry, automatyzacje składają się z:
- triggers,
- conditions,
- branches,
- actions.
Automatyzacja krok po kroku
Wybór triggera
Nasz automat musi się od czegoś zacząć. Pierwszym krokiem będzie wybranie triggera. Możemy wyróżnić 8 z nich:
Page published – trigger uruchamia automat za każdym razem, gdy publikowany jest nowy page na space’ie. Nie obejmuje page’y utworzonych jako wersje robocze lub późniejszych aktualizacji, gdy page jest edytowany.
Page edited – trigger uruchamia automat za każdym razem, gdy publikowane są zmiany na istniejącym page’u. Pamiętaj, że page to nie to samo co blog!
Blog published – trigger uruchamia automat za każdym razem, gdy publikowany jest nowy blog na space’ie. Nie obejmuje blogów utworzonych jako wersje robocze lub późniejszych aktualizacji, gdy blog jest edytowany.
Page or blog labeled – domyślnie ten trigger uruchamia automat za każdym razem, gdy jakakolwiek labelka jest dodawana do page’a lub bloga. Masz możliwość skonfigurowania go, wybierając określone labelki z listy. Jeśli dodasz więcej niż jedna labelkę, trigger będzie uruchamiał się przy każdym kolejnym dodaniu.
Page or blog commented – trigger uruchamia się zawsze wtedy, gdy page lub blog jest skomentowany. Nie uruchamia się natomiast, gdy dodany wcześniej komentarz jest edytowany.
User mentioned – domyślnie ten trigger uruchamia automat za każdym razem, gdy jakikolwiek user lub grupa jest oznaczona na page’u lub blogu, włącznie z oznaczeniami w komentarzach. Masz możliwość jego konfiguracji, wybierając określonych użytkowników lub grupy z listy. Jeśli dodasz więcej niż jedną opcję, trigger będzie uruchamiał się za każdym razem, gdy oznaczysz kogokolwiek z wybranych.
Scheduled – trigger uruchamia automat o określonej przez Ciebie godzinie cyklicznej. Jeżeli wykona się błędnie 10 razy z rzędu, dojdzie do automatycznego wyłączenia.
Incoming webhook – trigger uruchamia automat, gdy HTTP POST jest wysłany do określonego adresu URL weebhooka.
Wybór conditions
Gdy już wybraliśmy, od czego chcemy zacząć swój automat, możemy przejść krok dalej i zdecydować, co dokładnie ma on robić. Pomogą nam w tym conditions, branches oraz actions.
Zaczynając od conditions – są one opcjonalne i ograniczają zakres Twojego automatu. Mówiąc prościej: gdy zdecydujemy się na conditions, warunek w nich zawarty musi się „zaliczyć”, aby automat dalej działał. Wyobraźmy sobie na przykład, że reguła jest uruchamiana po opublikowaniu nowej strony. Możesz dodać user condition, aby reguła działała tylko wtedy, gdy page został opublikowany przez konkretną osobę. Wyróżniamy:
User condition – automat będzie działać tylko wtedy, gdy zostanie wywołany przez określonych użytkowników lub grupy.
CQL condition – automat będzie działać tylko wtedy, gdy zostanie spełnione określone zapytanie przy użyciu języka CQL.
Advanced compare condition – automat będzie działać tylko wtedy, gdy porównanie smart values lub wyrażenia regularnego w pierwszym polu będzie zgodne z kryteriami zdefiniowanymi w drugim polu.
If/else block conditio – za pomocą tej condition możesz zdefiniować wybór, jaki ma zostać wykonany. Możesz podzielić swój automat na dwie ścieżki, które będą prowadzić do jednego z dwóch różnych wyników.
Wybór branches
Możemy wybrać dwa branches, które również są opcjonalne. Rozszerzają one wykonanie danego automatu. Jeżeli akcje zawarte w triggerach nie są wystarczające do odpowiedniego działania Twojego automatu i ma on być jeszcze bardziej rozbudowany, branches są do tego stworzone. Dzięki nim nasza reguła rozszerzy swoje działanie, a akcje w branchu będą wykonane tylko dla page’y z jego zakresu.
Zawsze, gdy używasz branchu, musisz dodać condition lub action w następnym kroku.
For each task – ten branch wykona to samo działanie dla wybranej condition lub action dla każdego zadania, które spełni określone, wcześniej ustawione kryteria. Kryteria, które można ustawić dotyczą statusów, due date oraz assignee.
For each CQL result (related entities) – ten branch wykona to samo działanie dla wybranej condition lub action dla każdego zadania, które spełnia określone kryteria zdefiniowane przez język CQL.
Wybór actions
Ostatnią, najważniejszą i kończącą częścią automatów są actions. To one definiują nam, co chcemy, aby reguła wykonywała. Pisząc precyzyjniej: to, co chcemy, aby się stało, jeśli wszystkie poprzednie kroki będą pomyślne. Actions mogą być wykonywane wyłącznie na jednym określonym space’ie lub dla całego site’u.
Comment on page or blog – powoduje dodanie komentarza do page’a u dołu strony lub do wpisu na blogu.
Publish new page – publikuje nową stronę w wyznaczonym miejscu/lokalizacji.
Archive page – usuwa page’a z drzewka i przenosi do archiwum.
Copy page – publikuje kopię istniejącego page’a w wyznaczonym miejscu/lokalizacji.
Add label – akcja dodaje jedną lub więcej labelek do page’a lub wpisu na blogu.
Remove label – akcja usuwa jedną lub więcej labelek z page’a lub wpisu na blogu.
Manage watchers – akcja dodaje określone osoby lub grupy jako obserwatorów na page’u lub wpisie w blogu. Obecnie nie może usunąć obserwatorów, ale taka funkcja jest zaplanowana na przyszłość.
Send email – powoduje wysłanie automatycznej wiadomości e-mail do wyznaczonych adresatów.
Send Microsoft Teams message – wysyła wiadomość do kanału na Teamsach.
Send Slack message – ta akcja wysyła wiadomość indywidualną lub do kanału na Slacku.
Send Twilio (SMS) message – wysyła SMS używając serwisu Twilio.
Send web request – wysyła wychodzące żądanie sieciowe, aby powiadomić inny system o uruchomieniu reguły. Możesz ustawić tę akcję tak, aby zwracała dane odpowiedzi, które mogą być następnie użyte w kolejnej akcji.
Create variable – jest definiowana za pomocą Twoich własnych smart values.
Log action – rejestruje wartości w audit logu.
Przykładowa automatyzacja
Poniżej przedstawiam przykład automatyzacji wykonanej w Confluence. Wyśle ona e-mail z podziękowaniami do każdego, kto znajduje się w grupie „Sii CC Atlassian Team” oraz „Sii CC Agile Team”, jeżeli skomentują oni space o nazwie „Funkcjonalności Automatyzacji Confluence”.
Oczywiście możemy ustawić pojedyncze osoby, które takiego e-maila powinny otrzymać.
Używając smart values, aby odnaleźć odpowiedniego bloga po nazwie, musimy użyć {{content.title}}. Dzięki temu, automat wykona akcję znacznie szybciej niż gdybyśmy użyli CQL (title ~ „Funkcjonalności Automatyzacji Confluence”).
Dzięki ostatniej condition „Compare two values” unikniemy errorów w logach, jeżeli osoba, do której chcemy wysłać wiadomość, ma ustawiony adres e-mail jako prywatny.
Podsumowanie
Podsumowując: co automatyzacje nam oferują? Wiele nowych możliwości:
- Integracje z narzędziami
- wysyłanie automatycznych aktualizacji pracy do kanałów różnych zespołów Slack i MS Teams,
- połączenie aplikacji i usługi innych firm za pomocą webhooka.
- Śledzenie różnych treści
- egzekwowanie procesów publikowania i aktualizowania treści na Twoim space’ie,
- zwiększenie widoczność powiązanych treści,
- zarządzanie i automatyczne dodawanie strony.
- Organizowanie space’ów
- tworzenie nowych space’ów, utrzymując odpowiednią strukturę,
- automatyczne tworzenie dokumentów, takich jak notatki ze spotkań w standardowej, określonej lokalizacji w strukturze.
- Bycie na bieżąco
- dotrzymywanie terminów i utrzymywanie łączności zespołów dzięki automatycznym przypomnieniom i powiadomieniom,
- lepszą kontrolę nad wykonywaniem przydzielonych zadań,
- przekonanie się, jak postępują prace bez konieczności ręcznego sprawdzania lub proszenia o aktualizacje.
***
Jeżeli interesują Cię narzędzia Atlassian, zajrzyj do innych artykułów naszych ekspertów m.in.:
Zostaw komentarz