Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Analiza raportu w interfejsie Sonara ze zrzutami ekranu

...

  • Zgłoszenia: poprawiaj uwagi wtyczki w IDE i asystenta AI na zmienionych liniach przed MR-em (SonarQube - Connected Mode w IntelliJ, SonarQube - praca z asystentem AI). Każde zgłoszenie wpływające na niezawodność lub bezpieczeństwo obniża ocenę poniżej A.
  • Pokrycie: pisz testy jednostkowe do nowej logiki. Próg 40% dotyczy całego nowego kodu w okresie, więc kod bez testów obniża wynik całego zespołu.
  • Duplikacja: nie kopiuj większych fragmentów kodu; wydziel wspólną część.
  • Fałszywe alarmy: oznaczaj je na serwerze z uzasadnieniem po scaleniu, nie ukrywaj w kodzie.

Analiza raportu w interfejsie Sonara

Raport projektu jest pod adresem https://sonar.suncode.local/dashboard?id=PlusWorkflow (wymaga zalogowania). Zrzuty pochodzą z 14.11.2026 — wartości na nich są przykładowe.

1. Overview — stan bramki

Strona startowa projektu. Zakładka New Code (domyślna) pokazuje to, co decyduje o bramce:

  • Quality gate — wynik ostatniej analizy: Passed albo Failed.
  • New Code Since … — od kiedy liczy się nowy kod (tu od 16.10.2026).
  • N conditions failed — lista niespełnionych warunków z wartością i progiem. Każdy jest klikalny i prowadzi do szczegółów.
  • Kafelki po prawej (New issues, Coverage, Duplications, Security Hotspots) — metryki nowego kodu. Kafelek z etykietą Failed to warunek, który nie przechodzi.

Image Added

2. Overall Code — cały kod

Zakładka Overall Code pokazuje stan całego projektu, razem z kodem sprzed okresu nowego kodu. Bramki nie blokuje — oceny E i niskie pokrycie wynikają tu z długu technicznego w starym kodzie. Przydaje się do planowania porządków, nie do oceny bieżących zmian.

Na dole strony jest stała informacja Limited security analysis: nasza wersja SonarQube Community Build nie wykrywa podatności typu wstrzyknięcie (SQL injection, XSS). Brak takich zgłoszeń w Sonarze nie oznacza, że ich w kodzie nie ma.

Image Added

3. Ostrzeżenia analizy

Komunikat The last analysis has warnings → See details pokazuje problemy samej analizy, nie kodu. Obecnie jest to ostrzeżenie o kodowaniu znaków w części plików źródłowych — szczegóły są w logach skanera w zadaniu CI, które uruchamia analizę. Pliki, których skaner nie odczytał poprawnie, mogą mieć niepełne wyniki.

Image Added

4. Issues — które zgłoszenia psują bramkę

Zakładka Issues z filtrami po lewej stronie. Żeby znaleźć zgłoszenia obniżające ocenę bramki, ustaw:

  • New code — tylko nowy kod,
  • Software Quality — Reliability albo Security (ocena, która nie przechodzi),
  • Severity — od najwyższej wagi, bo ocena wynika z najpoważniejszego zgłoszenia (strona o ocenach A–E wyżej),
  • Issue status — Open i Confirmed.

Lista jest pogrupowana według plików. Przydatne są też filtry Author (autor zmiany według git blame) i Rule. Link z ustawionymi filtrami można skopiować i wkleić do zgłoszenia w Jirze.

Image Added

5. Szczegóły zgłoszenia

Kliknięcie zgłoszenia otwiera panel szczegółów:

  • nazwa reguły z kluczem (np. Web:S7930), linia (Line affected), szacowany czas naprawy (Effort) i kiedy zgłoszenie powstało (Introduced),
  • po prawej Software qualities impacted — na którą ocenę wpływa i z jaką wagą,
  • zakładka Where is the issue? — fragment kodu z zaznaczonym miejscem.

Image Added

Zakładka Why is this an issue? wyjaśnia regułę i jej skutki, a How can I fix it? pokazuje przykłady poprawki. Zanim uznasz zgłoszenie za fałszywy alarm, przeczytaj opis reguły — często wymienia sytuacje, w których kod jest zgodny z regułą.

Image Added

6. Zmiana statusu

Przycisk ze statusem (Open) otwiera menu:

  • Accept — problem jest prawdziwy, ale świadomie go nie poprawiamy. Przestaje wpływać na bramkę.
  • False Positive — reguła się myli. Przestaje wpływać na bramkę.
  • Confirm — problem potwierdzony, nadal wpływa na bramkę.

Kiedy wybrać Accept, a kiedy False Positive, opisuje strona SonarQube - fałszywe alarmy i oznaczanie zgłoszeń. Po zmianie statusu dodaj komentarz z uzasadnieniem.

Image Added

7. Activity zgłoszenia — kto i dlaczego zmienił status

Zakładka Activity w szczegółach zgłoszenia pokazuje historię zmian statusu i komentarze. Tu sprawdzisz, kto oznaczył zgłoszenie i z jakim uzasadnieniem. Komentarze obsługują ograniczony Markdown — unikaj znaku = na początku zdania i odwrotnych apostrofów, bo psują formatowanie.

Image Added

8. Pokrycie testami nowego kodu

Reporting → Measures → Coverage → Uncovered Lines z widokiem listy (lub kliknięcie warunku pokrycia na Overview). Pliki są posortowane według liczby niepokrytych linii w nowym kodzie, więc od góry widać, gdzie dopisanie testów najbardziej podniesie wynik.

Image Added

Po kliknięciu pliku Sonar pokazuje kod z oznaczeniami na marginesie: czerwony pasek to linia niepokryta testami, zielony — pokryta, żółty — warunek pokryty tylko częściowo. Linie należące do nowego kodu są wyróżnione tłem.

Image Added

9. Activity projektu — historia analiz

Reporting → Activity pokazuje historię analiz z wykresem (liczba zgłoszeń, pokrycie, duplikacje) i zdarzeniami. Filtr Events filter → Quality gate zostawia tylko zmiany stanu bramki, co pomaga ustalić, od której analizy bramka nie przechodzi.

Image Added

Strona Quality gate history w tym samym menu jest u nas pusta: działa tylko przy okresie nowego kodu ustawionym na „Previous version”, a my używamy konkretnej analizy bazowej.