Integracje / Azure DevOps

Komunikacja, projekty i biuro

Integracja AI: Azure DevOps

Podłączamy Boards z Work Items, moduł Repos z Pull Requestami i Pipelines z logami uruchomień. Asystent tłumaczy stan sprintu na język biznesowy, pilnuje zaległych przeglądów kodu i składa notatki wydania z każdego wdrożenia.

Po prezentacji do 2 tygodni testów, z dostępem tego samego dnia. Płacicie dopiero po decyzji.

Narzędzie „Sprint i Work Items z Azure DevOps” w portalu redAi, ekran z danymi z programu Azure DevOps
Narzędzie „Sprint i Work Items z Azure DevOps” w Waszym portalu. Dane przykładowe.

W skrócie

Jak asystent AI łączy się z systemem Azure DevOps?

Łączymy się przez REST API Azure DevOps pod adresem dev.azure.com/{organizacja}/{projekt}/_apis/ w wersji 7.x. Do uwierzytelnienia używamy Personal Access Token generowanego w ustawieniach konta, z uprawnieniami ograniczonymi do odczytu: Work Items Read, Code Read i Build Read.

Na start potrzebujemy
Personal Access Token z uprawnieniami Work Items Read, Code Read i Build Read
Czego asystent nie robi
Nie zatwierdza Pull Requestów ani nie uruchamia pipeline'ów bez decyzji człowieka z uprawnieniami w projekcie.
Gdzie są dane
Na Waszym serwerze. Zaczynamy od odczytu, zapis włączacie sami.

Dane z Azure DevOps w czacie i we własnym module

Pracujecie na dwa sposoby. W czacie pytacie o cokolwiek z programu i dostajecie odpowiedź na Waszych danych. Do rzeczy, które wracają co dzień, budujemy w portalu osobne narzędzie: Sprint i Work Items z Azure DevOps. Moduł zbiera bieżące zadania z Azure Boards i pokazuje stan każdego Work Itema w aktywnym sprincie. Programista, tester i team leader widzą w jednym miejscu, co jest zablokowane, co czeka na przegląd i co można zamknąć, bez logowania do DevOps.

  • Wyświetla Work Items z aktywnego sprintu według Area Path i przypisanej roli
  • Flaguje zadania bez aktywności dłużej niż ustalony próg z datą ostatniej zmiany
  • Łączy Work Item z otwartym Pull Requestem i stanem potoku CI/CD
  • Grupuje postęp sprintu według obszaru i pokazuje procent ukończenia
  • Generuje raport sprintu dla właściciela produktu po zamknięciu iteracji
Rozmowa z asystentem AI w portalu redAi o danych z programu Azure DevOps: Build & Deploy #387: przyczyna i krok zatrzymania

Pytanie w czacie

Programista dostaje przyczynę awarii po polsku z numerem kroku, zanim otworzy interfejs Azure DevOps.

Dlaczego ostatni pipeline na branch main się wysypał? Musimy wiedzieć, co naprawić, zanim wejdziemy na produkcję.
Karta Work Item #4517 w narzędziu Sprint i Work Items z Azure DevOps w portalu redAi

Karta w narzędziu

Karta zadania łączy stan z Boards, powiązany PR i historię zmian w jednym widoku dla team leadera.

Aktywny sprint w jednym widoku: team leader widzi co jest zablokowane i co czeka, bez klikania w Azure DevOps.

Ekrany na danych przykładowych. Narzędzie dla Waszej firmy układamy pod Wasz sposób pracy: inne kolumny, inne progi, inne powiadomienia.

Co podłączamy

Zaczynamy od odczytu danych. Zapis i akcje w systemie Azure DevOps włączamy dopiero wtedy, gdy sami tego chcecie.

Historia zmian Work Itemów

CzytamyID, State, Assigned To, Area Path, tagi oraz pełna historia zmian stanu z datami i osobami, które je wprowadzały

AsystentWykrywa zadania bez aktywności dłużej niż ustalony próg i informuje przypisaną osobę z dokładną datą ostatniej zmiany

Aktywność recenzentów PR

CzytamyStatus każdego recenzenta (Approved, Waiting for Author, Rejected) i data jego ostatniej aktywności w projekcie

AsystentWyłapuje recenzentów nieaktywnych lub usuniętych z projektu i zgłasza ich w raporcie, zamiast pozwolić PR czekać bez końca

Trigger i przebieg Pipeline

CzytamyKto lub co uruchomiło potok, czas startu, czas trwania oraz numer kroku i etapu, w którym potok się zatrzymał

AsystentZ pełnego logu wyodrębnia pierwszy błąd, exit code i krok zatrzymania, zwraca opis po polsku zanim programista otworzy interfejs

Commity i tagi wydań

CzytamyLista commitów między tagami, tytuły scalonych Pull Requestów i powiązane Work Items przez wzmianki w opisach i commitach

AsystentSkłada notatkę wydania z opisem dla biznesu: co nowego, co naprawiono i środowisko docelowe, gotową minutę po deploymencie

Sprint i Area Path

CzytamyAktywne sprinty, przypisanie Work Items do sprintu oraz podział na obszary produktu przez pole Area Path

AsystentGrupuje zadania według obszaru i układa postęp sprintu w raport dla właściciela bez konieczności logowania do Azure

Gałęzie Pull Requestów

CzytamyGałąź źródłowa i docelowa PR, data otwarcia, data ostatniej aktywności w wątku komentarzy

AsystentIdentyfikuje PR-y otwarte do gałęzi produkcyjnej bez aktywności i wysyła alert do konkretnego recenzenta z godziną otwarcia

O co pytają w praktyce

Po polsku, jak koledze z pracy. Asystent odpowiada na danych z Waszego programu, a nie z ogólnej wiedzy.

  • „Co weszło na produkcję w ostatnim tygodniu?”
  • „Które Pull Requesty czekają na przegląd dłużej niż dobę?”
  • „Dlaczego ostatni pipeline się wysypał i co trzeba sprawdzić?”
  • „Co zamknęliśmy w tym sprincie, a co przechodzi na kolejny?”

Co się zmienia

Właściciel i menedżer produktu dostają raport ze stanu projektu zanim zapytają zespół, a team liderzy przestają tracić czas na ręczne zbieranie danych z trzech modułów.

Asystent działa na Waszym serwerze, na Waszych uprawnieniach. Każdy odczyt i każda akcja zostawiają ślad w logu. Program zostaje tam, gdzie jest, razem z historią danych i nawykami zespołu.

O programie

Azure DevOps to platforma Microsoftu do zarządzania pracą zespołów IT. Używają jej firmy, które rozwijają własne oprogramowanie albo zamawiają je na zewnątrz i chcą mieć wgląd w postęp. Dane trzymane są w chmurze Microsoftu (Azure DevOps Services) albo na serwerze firmy (Azure DevOps Server, dawniej Team Foundation Server).

Codzienna praca w Azure DevOps to: tworzenie i aktualizowanie zadań na tablicy Boards, otwieranie Pull Requestów z każdą zmianą w kodzie, przeglądanie wyników automatycznych wdrożeń w Pipelines. System produkuje dużo danych, ale interfejsy są zaprojektowane dla programistów, nie dla menedżerów, więc większość tych informacji zostaje nieodczytana.

Gdzie to działa najlepiej

właściciel firmy

Co poniedziałek właściciel pyta team leadera, co weszło na produkcję w ostatnim tygodniu i czy ostatnie wdrożenie się powiodło. Team leader spędza pół godziny na zbieraniu danych z Boards, Repos i historii pipeline'ów.

Z asystentem: W niedzielę o 23:00 automat odpytuje Azure DevOps i układa raport. W poniedziałek o 7:30 właściciel ma mail: co trafiło na produkcję, co jest w toku i czy deploy przebiegł bez błędów.

team leader IT

Programista otworzył Pull Request w piątek o 14:30. Recenzenci nie zaglądali przez weekend, PR leży zablokowany i wstrzymuje kolejne zadania. Team leader dowiaduje się o tym dopiero na porannym spotkaniu.

Z asystentem: Asystent codziennie rano sprawdza otwarte PR-y. Recenzent dostaje alert z numerem PR, godziną otwarcia i powiązanym zadaniem na Boards, zanim spotkanie się zacznie.

menedżer produktu

Przed wdrożeniem menedżer produktu chce wiedzieć, co dokładnie wchodzi na produkcję, żeby przygotować komunikację do klientów. Tytuły PR-ów takie jak 'fix: null pointer exception in invoice service' nic mu nie mówią.

Z asystentem: Asystent tłumaczy listę scalonych PR-ów i zamkniętych Work Items na język biznesowy i wysyła gotową notatkę wydania minutę po deploymencie, bez czekania na briefing zespołu.

Jak się łączymy

Łączymy się przez REST API Azure DevOps pod adresem dev.azure.com/{organizacja}/{projekt}/_apis/ w wersji 7.x. Do uwierzytelnienia używamy Personal Access Token generowanego w ustawieniach konta, z uprawnieniami ograniczonymi do odczytu: Work Items Read, Code Read i Build Read. Odpowiedzi przychodzą w JSON i trafiają do bazy portalu.

Portal z plikami, bazami i historią rozmów stoi na serwerze klienta. Skrypt odpytuje API w ustalonych odstępach, zapisuje zmiany do bazy i przekazuje do modelu AI polecenie oraz fragmenty danych potrzebne do odpowiedzi. Modele AI nie są trenowane na danych klienta. Tryb pracy to odczyt; dodanie komentarza do Pull Requesta wymaga osobnego potwierdzenia.

Czego potrzebujemy od Was

  • Personal Access Token z uprawnieniami Work Items Read, Code Read i Build Read
  • Konto w Azure DevOps z dostępem do wskazanego projektu (standardowy plan, bez dodatkowych licencji)
  • Osoba po stronie firmy, która wygeneruje token i wskaże projekty oraz Area Path do integracji
  • Adres e-mail lub kanał Teams do wysyłki raportów i alertów o zaległych Pull Requestach
  • Przy Azure DevOps Server: adres serwera dostępny z sieci klienta i numer wersji API

Czego asystent nie robi

  • Nie zatwierdza Pull Requestów ani nie uruchamia pipeline'ów bez decyzji człowieka z uprawnieniami w projekcie.
  • Nie zmienia statusów Work Itemów, nie przypisuje zadań ani nie modyfikuje konfiguracji środowisk wdrożeń.
  • Nie odczytuje secrets ani zmiennych środowiskowych używanych przez pipeline'y, bo API ich nie udostępnia.
  • Nie zastępuje code review: wskazuje zaległe przeglądy i PR-y bez recenzenta, ale ocenę kodu robi programista.

Częste pytania

Czy możemy ograniczyć integrację do wybranych projektów lub sprintów?

Tak. Zakres ustala się przy konfiguracji: podajecie nazwy organizacji, projektów i Area Path, które mają trafiać do raportów. Reszta projektów w waszej organizacji Azure DevOps pozostaje poza zasięgiem asystenta.

Jak często asystent pobiera dane z Azure DevOps?

Domyślnie skrypt odpytuje API co godzinę i zapisuje tylko zmienione pozycje do bazy portalu. Raporty tygodniowe i alerty o zaległych Pull Requestach uruchamiają się o stałych godzinach. Częstotliwość można dostosować do rytmu pracy zespołu.

Czy integracja obejmuje też pracę zewnętrznych wykonawców w naszym projekcie?

Asystent widzi wszystko, do czego ma dostęp wygenerowany token. Jeśli zewnętrzny wykonawca pracuje w tym samym projekcie Azure DevOps, jego Work Items i Pull Requesty będą widoczne. Zakres dostępu ustalacie przy konfiguracji tokenu PAT.

Co jeśli firma prowadzi kilka projektów w Azure DevOps?

Każdy projekt wymaga osobnego tokenu PAT z uprawnieniami do tego projektu. Integracja może działać równolegle na kilku projektach. Raporty można składać osobno dla każdego projektu albo łączyć w jeden widok zbiorczy dla właściciela.

Pełny opis integracji w bazie wiedzy →

Jak zaczynamy

  1. Bezpłatna prezentacja. Mówicie, na czym pracujecie i co Was korkuje. Mówimy wprost, czy da się to spiąć, a jeśli nie ma czego automatyzować, też to powiemy.
  2. Do 2 tygodni testów. Dostęp do portalu tego samego dnia, podłączenie w trybie odczytu, sprawdzacie na własnych danych.
  3. Rozszerzanie. Kolejne moduły i akcje dokładamy, gdy zespół ufa temu, co dostaje. W abonamencie jest wdrożenie, integracja, szkolenie i opieka.
Wybierzcie termin → Wolicie napisać?

Azure DevOps jest znakiem towarowym swojego właściciela. Nie jesteśmy z nim powiązani ani przez niego autoryzowani. Nazwy używamy wyłącznie po to, żeby wskazać, z jakim programem integrujemy asystenta.