{"id":13742,"date":"2026-04-22T06:48:00","date_gmt":"2026-04-22T03:48:00","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog_he\/?p=13742"},"modified":"2026-06-01T09:40:36","modified_gmt":"2026-06-01T06:40:36","slug":"sonarqube-test-coverage-overview","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog_he\/sonarqube-test-coverage-overview\/","title":{"rendered":"\u05d0\u05d9\u05da \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d1\u2011SonarQube \u05e2\u05d5\u05d6\u05e8 \u05dc\u05de\u05e4\u05ea\u05d7\u05d9\u05dd, \u05dc\u05de\u05e0\u05d4\u05dc\u05d9 QA, \u05dc\u2011DevOps , \u05dc\u05de\u05e0\u05d4\u05dc\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5\u05dc\u05de\u05e0\u05d4\u05dc\u05d9 \u05d0\u05d1\u05d8\u05d7\u05ea \u05de\u05d9\u05d3\u05e2?"},"content":{"rendered":"<div class=\"wp-block-image box-shadow\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"396\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/sonarqube-coverage-1024x396.jpg\" alt=\"sonarqube coverage\" class=\"wp-image-13749\" style=\"aspect-ratio:2.585982971763914;width:623px;height:auto\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/sonarqube-coverage-1024x396.jpg 1024w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/sonarqube-coverage-300x116.jpg 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/sonarqube-coverage-768x297.jpg 768w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/sonarqube-coverage.jpg 1112w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><em>SonarQube<\/em> \u05d4\u05e4\u05da \u05d1\u05e9\u05e0\u05d9\u05dd \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d5\u05ea \u05dc\u05e1\u05d8\u05e0\u05d3\u05e8\u05d8 \u05d3\u05d4\u2011\u05e4\u05e7\u05d8\u05d5 \u05dc\u05e0\u05d9\u05d8\u05d5\u05e8 \u05d0\u05d9\u05db\u05d5\u05ea \u05e7\u05d5\u05d3 \u05d5\u05d0\u05d1\u05d8\u05d7\u05ea \u05e7\u05d5\u05d3 \u05d1\u05d0\u05e8\u05d2\u05d5\u05e0\u05d9 \u05d4\u05d9\u05d9\u05d8\u05e7 \u05d5\u2011Enterprise, \u05d2\u05dd \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d0\u05d7\u05d3 \u05d4\u05de\u05d3\u05d3\u05d9\u05dd \u05d4\u05d7\u05e9\u05d5\u05d1\u05d9\u05dd \u05d1\u05d9\u05d5\u05ea\u05e8 \u05e9\u2011SonarQube \u05de\u05e6\u05d9\u05d2 \u05d4\u05d5\u05d0 <strong><em>Code Coverage<\/em><\/strong> \u2013 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3, <br>\u05db\u05dc\u05d5\u05de\u05e8 \u05e2\u05d3 \u05db\u05de\u05d4 \u05d4\u05d8\u05e1\u05d8\u05d9\u05dd \u05d4\u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9\u05d9\u05dd \u05e9\u05dc\u05db\u05dd \u05d1\u05d0\u05de\u05ea \u201c\u05e0\u05d5\u05d2\u05e2\u05d9\u05dd\u201d \u05d1\u05e7\u05d5\u05d3 \u05e9\u05d4\u05d5\u05e8\u05e5.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d1\u05de\u05d0\u05de\u05e8 \u05d4\u05d6\u05d4 \u05e0\u05e1\u05d1\u05d9\u05e8 \u05dc\u05de\u05e4\u05ea\u05d7\u05d9\u05dd, \u05de\u05e4\u05ea\u05d7\u05d5\u05ea, \u05de\u05d5\u05d1\u05d9\u05dc\u05d9 \u05e6\u05d5\u05d5\u05ea \u05d5\u2011R&amp;D Managers:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u05de\u05d4 \u05d6\u05d4 Code Coverage, \u05d5\u05de\u05d4 SonarQube \u05d9\u05d5\u05d3\u05e2 \u05dc\u05e2\u05e9\u05d5\u05ea \u05d0\u05d9\u05ea\u05d5?<\/li>\n\n\n\n<li>\u05d0\u05d9\u05da SonarQube \u05e2\u05d5\u05d1\u05d3 \u05e2\u05dd \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d1\u05e4\u05d5\u05e2\u05dc (JaCoCo, Cobertura, Coverage.py, Jest \u05d5\u05e2\u05d5\u05d3)?<\/li>\n\n\n\n<li>\u05de\u05d4 \u05d4\u05d9\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea \u05dc\u05db\u05dc \u05ea\u05e4\u05e7\u05d9\u05d3 \u2013 \u05de\u05e4\u05ea\u05d7\u05d9\u05dd, \u05de\u05d5\u05d1\u05d9\u05dc\u05d9 \u05e6\u05d5\u05d5\u05ea, \u05de\u05e0\u05d4\u05dc\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5\u2011DevOps?<\/li>\n\n\n\n<li>\u05d0\u05d9\u05d6\u05d4 \u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d6\u05de\u05d9\u05e0\u05d5\u05ea \u05d1\u05db\u05dc \u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea SonarQube (Community \/ Developer \/ Enterprise)?<\/li>\n\n\n\n<li>\u05d8\u05d9\u05e4\u05d9\u05dd \u05e4\u05e8\u05e7\u05d8\u05d9\u05d9\u05dd \u05dc\u05d4\u05d2\u05d3\u05e8\u05ea Quality Gates \u05d5\u05e1\u05e4\u05d9 \u05db\u05d9\u05e1\u05d5\u05d9, \u05db\u05d5\u05dc\u05dc \u05e2\u05d1\u05d5\u05d3\u05d4 \u05e2\u05dd GitLab \/ GitHub \/ Azure DevOps.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:27px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u05de\u05d4 \u05d6\u05d4 \u05d1\u05db\u05dc\u05dc Code Coverage \u2013 \u05d5\u05dc\u05de\u05d4 \u05e9\u05d6\u05d4 \u05d9\u05e2\u05e0\u05d9\u05d9\u05df \u05d0\u05d5\u05ea\u05da?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Code Coverage \u05de\u05d5\u05d3\u05d3 \u05d0\u05d9\u05d6\u05d4 \u05d7\u05dc\u05e7 \u05de\u05d4\u05e7\u05d5\u05d3 \u05e9\u05dc\u05db\u05dd \u05de\u05d5\u05e8\u05e5 \u05d1\u05e4\u05d5\u05e2\u05dc \u05e2\u05dc\u2011\u05d9\u05d3\u05d9 \u05d1\u05d3\u05d9\u05e7\u05d5\u05ea \u05d9\u05d7\u05d9\u05d3\u05d4, \u05d0\u05d9\u05e0\u05d8\u05d2\u05e8\u05e6\u05d9\u05d4 \u05d5\u2011End\u2011to\u2011End. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d4\u05d5\u05d0 \u05dc\u05d0 \u05d0\u05d5\u05de\u05e8 \u05d0\u05dd \u05d4\u05d8\u05e1\u05d8\u05d9\u05dd \u201c\u05d8\u05d5\u05d1\u05d9\u05dd\u201d, \u05d0\u05d1\u05dc \u05db\u05df \u05d0\u05d5\u05de\u05e8 \u05d0\u05dd \u05d1\u05db\u05dc\u05dc \u05e0\u05d5\u05d2\u05e2\u05d9\u05dd \u05d1\u05e7\u05d5\u05d3 \u05e8\u05d2\u05d9\u05e9 \u05dc\u05e4\u05e0\u05d9 \u05e9\u05de\u05e7\u05d3\u05de\u05d9\u05dd \u05d0\u05ea \u05d4\u05e7\u05d5\u05d3 \u05d4\u05dc\u05d0\u05d4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube \u05de\u05e9\u05ea\u05de\u05e9 \u05d1\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05db\u05de\u05d3\u05d3 \u05de\u05e8\u05db\u05d6\u05d9 \u05d1\u2011 <em>Quality Gate<\/em> \u2013 <br>\u05e9\u05e2\u05e8 \u05d0\u05d9\u05db\u05d5\u05ea \u05e9\u05de\u05d7\u05dc\u05d9\u05d8 \u05d0\u05dd \u05d2\u05d9\u05e8\u05e1\u05d4 \u05d0\u05d5 Merge Request \u201c\u05d1\u05e8\u05d9\u05d0\u05d4\u201d \u05de\u05e1\u05e4\u05d9\u05e7 \u05db\u05d3\u05d9 \u05dc\u05d4\u05ea\u05e7\u05d3\u05dd \u05d4\u05dc\u05d0\u05d4 \u05dc\u05e2\u05d1\u05e8 \u05e9\u05d9\u05ea\u05d5\u05e3 \u05d5\u05e9\u05d7\u05e8\u05d5\u05e8 \u05d2\u05d9\u05e8\u05e1\u05d4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05db\u05da \u05d0\u05ea\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd, \u05dc\u05de\u05e9\u05dc, \u05dc\u05d4\u05d7\u05dc\u05d9\u05d8 \u05e9\u05dc\u05d0 \u05de\u05d0\u05e9\u05e8\u05d9\u05dd \u05de\u05d9\u05d6\u05d5\u05d2 \u05d0\u05dd <strong>Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9<\/strong> \u05e0\u05de\u05d5\u05da \u05de\u201180%.<\/p>\n\n\n\n<div style=\"height:27px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u05d7\u05e9\u05d5\u05d1 \u05dc\u05d4\u05d1\u05d9\u05df: SonarQube \u05dc\u05d0 \u05de\u05e8\u05d9\u05e5 \u05d8\u05e1\u05d8\u05d9\u05dd \u2013 \u05d4\u05d5\u05d0 \u05de\u05e0\u05ea\u05d7 \u05d3\u05d5&quot;\u05d7\u05d5\u05ea<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u05e0\u05e7\u05d5\u05d3\u05d4 \u05e7\u05e8\u05d9\u05d8\u05d9\u05ea: SonarQube <strong>\u05dc\u05d0 \u05de\u05e8\u05d9\u05e5 \u05d0\u05ea \u05d4\u05d8\u05e1\u05d8\u05d9\u05dd<\/strong> \u05d5\u05dc\u05d0 \u05de\u05d7\u05e9\u05d1 \u05db\u05d9\u05e1\u05d5\u05d9 \u05d1\u05e2\u05e6\u05de\u05d5. \u05d4\u05d5\u05d0 \u05de\u05e1\u05ea\u05de\u05da \u05e2\u05dc \u05d3\u05d5\u05d7\u05d5\u05ea \u05e9\u05db\u05d1\u05e8 \u05d4\u05d5\u05e4\u05e7\u05d5 \u05e2\u05dc\u2011\u05d9\u05d3\u05d9 \u05d4\u05db\u05dc\u05d9\u05dd \u05d4\u05e8\u05d2\u05d9\u05dc\u05d9\u05dd \u05e9\u05dc\u05db\u05dd:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05e2\u05d1\u05d5\u05e8 Java \u2013 \u05dc\u05e8\u05d5\u05d1 JaCoCo.<\/li>\n\n\n\n<li>\u05e2\u05d1\u05d5\u05e8 JavaScript \/ TypeScript \u2013 \u05dc\u05e8\u05d5\u05d1 Jest \/ nyc \/ Istanbul \u05d1\u05e4\u05d5\u05e8\u05de\u05d8 lcov.<\/li>\n\n\n\n<li>\u05e2\u05d1\u05d5\u05e8 Python \u2013 Coverage.py (\u05e2\u05dd pytest\u2011cov \u05d5\u05db\u05d5\u2019).<\/li>\n\n\n\n<li>\u05e2\u05d1\u05d5\u05e8 .NET \u2013 Visual Studio Coverage, dotCover, OpenCover \u05d5\u05e2\u05d5\u05d3.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d4\u2011CI (GitLab CI, GitHub Actions, Jenkins, Azure DevOps \u05d5\u05db\u05d5\u2019) \u05de\u05e8\u05d9\u05e5 \u05d0\u05ea \u05d4\u05d8\u05e1\u05d8\u05d9\u05dd \u05d5\u05de\u05e4\u05d9\u05e7 \u05d3\u05d5\u05d7\u05d5\u05ea \u05db\u05d9\u05e1\u05d5\u05d9; SonarScanner \u05e7\u05d5\u05e8\u05d0 \u05d0\u05ea \u05d4\u05d3\u05d5\u05d7\u05d5\u05ea, \u05de\u05d9\u05d9\u05d1\u05d0 \u05d0\u05d5\u05ea\u05dd \u05dc\u2011SonarQube \u05d5\u05de\u05e6\u05d9\u05d2 \u05d0\u05d5\u05ea\u05dd \u05d1\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05d9\u05d3\u05d4, <br>\u05db\u05d5\u05dc\u05dc \u05d4\u05e9\u05e4\u05e2\u05d4 \u05e2\u05dc Quality Gate \u05d5\u2011Pull\/Merge Request decoration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u05d0\u05d9\u05dc\u05d5 \u05de\u05d3\u05d3\u05d9 \u05db\u05d9\u05e1\u05d5\u05d9 SonarQube \u05de\u05e6\u05d9\u05d2?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d1\u05e0\u05d9\u05d2\u05d5\u05d3 \u05dc\u05db\u05dc\u05d9\u05dd \u05e9\u05de\u05e6\u05d9\u05d2\u05d9\u05dd \u05e8\u05e7 Line Coverage, SonarQube \u05de\u05d7\u05e9\u05d1 \u05de\u05d3\u05d3 Coverage \u05e9\u05de\u05d0\u05d7\u05d3 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e9\u05d5\u05e8\u05d5\u05ea \u05d5\u05db\u05d9\u05e1\u05d5\u05d9 \u05ea\u05e0\u05d0\u05d9\u05dd (branches).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05de\u05d0\u05d7\u05d5\u05e8\u05d9 \u05d4\u05e7\u05dc\u05e2\u05d9\u05dd \u05d4\u05d5\u05d0 \u05de\u05e9\u05ea\u05de\u05e9 \u05d1\u05e0\u05d5\u05e1\u05d7\u05d4 \u05e9\u05de\u05ea\u05d9\u05d9\u05d7\u05e1\u05ea \u05dc\u05e9\u05d5\u05e8\u05d5\u05ea \u05dc\u05d1\u05d9\u05e6\u05d5\u05e2, \u05e9\u05d5\u05e8\u05d5\u05ea \u05de\u05db\u05d5\u05e1\u05d5\u05ea, \u05ea\u05e0\u05d0\u05d9\u05dd \u05e9\u05e0\u05d1\u05d3\u05e7\u05d5 \u05dc\u05e2\u05e8\u05db\u05d9\u05dd true \/ false \u05d5\u05e2\u05d5\u05d3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d4\u05de\u05d3\u05d3\u05d9\u05dd \u05d4\u05e2\u05d9\u05e7\u05e8\u05d9\u05d9\u05dd \u05e9\u05ea\u05e8\u05d0\u05d5 \u05d1\u05d3\u05e9\u05d1\u05d5\u05e8\u05d3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coverage<\/strong> \u2013 \u05d0\u05d7\u05d5\u05d6 \u05db\u05d9\u05e1\u05d5\u05d9 \u05de\u05e9\u05d5\u05dc\u05d1 (\u05e9\u05d5\u05e8\u05d5\u05ea + \u05ea\u05e0\u05d0\u05d9\u05dd) \u05d1\u05e8\u05de\u05ea \u05e4\u05e8\u05d5\u05d9\u05e7\u05d8\/\u05de\u05d5\u05d3\u05d5\u05dc\/\u05e7\u05d5\u05d1\u05e5.<\/li>\n\n\n\n<li><strong>Lines to cover \/ Uncovered lines<\/strong> \u2013 \u05db\u05de\u05d4 \u05e9\u05d5\u05e8\u05d5\u05ea \u05e7\u05d5\u05d3 \u05d0\u05de\u05d5\u05e8\u05d5\u05ea \u05dc\u05d4\u05d9\u05d5\u05ea \u05de\u05db\u05d5\u05e1\u05d5\u05ea, \u05d5\u05db\u05de\u05d4 \u05de\u05d4\u05df \u05e2\u05d3\u05d9\u05d9\u05df \u05dc\u05dc\u05d0 \u05d8\u05e1\u05d8\u05d9\u05dd.<\/li>\n\n\n\n<li><strong>Conditions to cover \/ Uncovered conditions<\/strong> \u2013 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e9\u05dc \u05e2\u05e0\u05e4\u05d9\u05dd \u05d5\u05d1\u05d9\u05d8\u05d5\u05d9\u05d9\u05dd \u05d1\u05d5\u05dc\u05d9\u05d0\u05e0\u05d9\u05d9\u05dd.<\/li>\n\n\n\n<li><strong>Coverage on New Code<\/strong> \u2013 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e9\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9 \u05d0\u05d5 \u05e9\u05e9\u05d5\u05e0\u05d4 \u05de\u05d0\u05d6 baseline \u05dc\u05e4\u05d9 \u05d4\u2011SCM (Clean as You Code).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d4\u2011Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9 \u05d4\u05d5\u05d0 \u05d4\u05de\u05d3\u05d3 \u05d4\u05de\u05e9\u05de\u05e2\u05d5\u05ea\u05d9 \u05d1\u05d9\u05d5\u05ea\u05e8 \u05de\u05d1\u05d7\u05d9\u05e0\u05ea SonarQube \u2013 \u05e2\u05dc\u05d9\u05d5 \u05de\u05ea\u05d1\u05e1\u05e1 \u05d4\u2011Quality Gate \u05d4\u05de\u05d5\u05d1\u05e0\u05d4 \u201cSonar way\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u05d0\u05d9\u05da \u05d6\u05d4 \u05e0\u05e8\u05d0\u05d4 \u05d1\u05e2\u05d9\u05e0\u05d9\u05d9\u05dd: \u05d3\u05e9\u05d1\u05d5\u05e8\u05d3\u05d9\u05dd, \u05e7\u05d1\u05e6\u05d9\u05dd \u05d5\u2011 Pull Requests<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SonarQube \u05de\u05e6\u05d9\u05d2 \u05d0\u05ea \u05db\u05d9\u05e1\u05d5\u05d9 \u05d4\u05e7\u05d5\u05d3 \u05d1\u05db\u05de\u05d4 \u05e8\u05d6\u05d5\u05dc\u05d5\u05e6\u05d9\u05d5\u05ea:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"box-shadow\"><strong>\u05d1\u05e8\u05de\u05ea \u05e4\u05e8\u05d5\u05d9\u05e7\u05d8<\/strong> \u2013 Coverage \u05db\u05dc\u05dc\u05d9, Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9, \u05de\u05d2\u05de\u05d5\u05ea \u05dc\u05d0\u05d5\u05e8\u05da \u05d6\u05de\u05df \u05d5\u2011Leak Period (\u05de\u05d0\u05d9\u05d6\u05d4 \u05ea\u05d0\u05e8\u05d9\u05da \u05d1\u05d5\u05d3\u05e7\u05d9\u05dd \u201c\u05d7\u05d3\u05e9\u201d).<br><img loading=\"lazy\" decoding=\"async\" width=\"444\" height=\"188\" class=\"wp-image-13753\" style=\"width: 444px;\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/coverage-new-code.jpg\" alt=\"sonarqube new code coverage\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/coverage-new-code.jpg 444w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/04\/coverage-new-code-300x127.jpg 300w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/li>\n\n\n\n<li class=\"box-shadow\"><strong>\u05d1\u05e8\u05de\u05ea \u05e7\u05d5\u05d1\u05e5<\/strong> \u2013 \u05e9\u05d5\u05e8\u05d5\u05ea \u05e6\u05d1\u05d5\u05e2\u05d5\u05ea \u05dc\u05e4\u05d9 \u05de\u05db\u05d5\u05e1\u05d4\/\u05dc\u05d0 \u05de\u05db\u05d5\u05e1\u05d4, \u05e1\u05e4\u05d9\u05e8\u05ea \u05e9\u05d5\u05e8\u05d5\u05ea \u05d5\u05ea\u05e0\u05d0\u05d9\u05dd \u05dc\u05d0 \u05de\u05db\u05d5\u05e1\u05d9\u05dd, \u05e7\u05e4\u05d9\u05e6\u05d4 \u05de\u05d4\u05d9\u05e8\u05d4 \u05dc\u05d0\u05d6\u05d5\u05e8\u05d9\u05dd \u05d1\u05e2\u05d9\u05d9\u05ea\u05d9\u05d9\u05dd.<br><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"225\" class=\"wp-image-13258\" style=\"width: 300px;\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/02\/sonar-images-mix-1.webp\" alt=\"sonar diagrams\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/02\/sonar-images-mix-1.webp 800w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/02\/sonar-images-mix-1-300x225.webp 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2026\/02\/sonar-images-mix-1-768x576.webp 768w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/li>\n\n\n\n<li><strong>\u05d1\u05e8\u05de\u05ea Pull\/Merge Request<\/strong> \u2013 \u05d0\u05d7\u05d5\u05d6 Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9, \u05de\u05e1\u05e4\u05e8 \u05e9\u05d5\u05e8\u05d5\u05ea \u05d5\u05ea\u05e0\u05d0\u05d9\u05dd \u05dc\u05d0 \u05de\u05db\u05d5\u05e1\u05d9\u05dd, \u05d5\u05ea\u05d5\u05e6\u05d0\u05ea Quality Gate (Passed \/ Failed) \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05d1\u05de\u05e1\u05da \u05d4\u2011PR \u05d1\u2011GitLab \/ GitHub \/ Azure DevOps \/ Bitbucket.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d0\u05dd Coverage \u05de\u05d5\u05e4\u05d9\u05e2 \u05d1\u05d3\u05e9\u05d1\u05d5\u05e8\u05d3 \u05d0\u05d1\u05dc \u05dc\u05d0 \u05d1\u05d3\u05e7\u05d5\u05e8\u05e6\u05d9\u05d4 \u05e9\u05dc PR, \u05d1\u05e8\u05d5\u05d1 \u05d4\u05de\u05e7\u05e8\u05d9\u05dd \u05d6\u05d4 \u05e1\u05d9\u05de\u05df \u05dc\u05d1\u05e2\u05d9\u05d4 \u05d1\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea (binding \u05dc\u05e4\u05e8\u05d5\u05d9\u05e7\u05d8, sonar.pullrequest.* \u05d0\u05d5 \u05e4\u05d5\u05e8\u05de\u05d8 \u05d4\u05d3\u05d5\u05d7) \u2013 \u05dc\u05d0 \u05de\u05d2\u05d1\u05dc\u05d4 \u05e9\u05dc SonarQube.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udca1 \u05e1\u05e7\u05d9\u05e8\u05d4 \u05de\u05e7\u05d9\u05e4\u05d4 \u05e9\u05dc <a href=\"https:\/\/www.almtoolbox.com\/blog_he\/download-review-sonarqube-measure-charts\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05ea\u05e8\u05e9\u05d9\u05de\u05d9 \u05de\u05d3\u05d3\u05d9\u05dd \u05d1- SonarQube \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05d5\u05e8\u05d9\u05d3 \u05db\u05d0\u05df<\/a>.<\/p>\n\n\n\n<div style=\"height:28px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05dc\u05e4\u05d9 \u05ea\u05e4\u05e7\u05d9\u05d3: \u05de\u05e4\u05ea\u05d7\u05d9\u05dd, \u05de\u05d5\u05d1\u05d9\u05dc\u05d9 \u05e6\u05d5\u05d5\u05ea, \u05de\u05e0\u05d4\u05dc\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u05dc\u05de\u05e4\u05ea\u05d7\u05d9\u05dd\/\u05d5\u05ea<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05e8\u05d5\u05d0\u05d9\u05dd \u05d1\u05e7\u05dc\u05d5\u05ea \u05d0\u05d9\u05e4\u05d4 \u05d7\u05e1\u05e8 \u05d8\u05e1\u05d8 \u2013 \u05e9\u05d5\u05e8\u05d5\u05ea \u05d0\u05d3\u05d5\u05de\u05d5\u05ea, \u05ea\u05e0\u05d0\u05d9\u05dd \u05dc\u05d0 \u05de\u05db\u05d5\u05e1\u05d9\u05dd, \u05e9\u05db\u05d1\u05d5\u05ea \u05d0\u05d5 \u05de\u05d5\u05d3\u05d5\u05dc\u05d9\u05dd \u201c\u05d0\u05d3\u05d5\u05de\u05d9\u05dd\u201d.<\/li>\n\n\n\n<li>\u05d4\u2011Quality Gate \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9 \u05d0\u05d5\u05de\u05e8: \u05d0\u05dd \u05d4\u05d8\u05e1\u05d8\u05d9\u05dd \u05e9\u05dc\u05da \u05dc\u05d0 \u05de\u05db\u05e1\u05d9\u05dd \u05de\u05e1\u05e4\u05d9\u05e7 \u2013 \u05d4\u2011PR \u05d9\u05d9\u05d3\u05d7\u05d4 \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9\u05ea.<\/li>\n\n\n\n<li>\u05e2\u05dd SonarLint \/ SonarQube for IDE \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e8\u05d0\u05d5\u05ea \u05d1\u05e2\u05d9\u05d5\u05ea \u05db\u05d9\u05e1\u05d5\u05d9 \u05d5\u05d0\u05d9\u05db\u05d5\u05ea \u05db\u05d1\u05e8 \u05d1\u2011IDE, \u05dc\u05e4\u05e0\u05d9 \u05d4\u2011push (\u05d1\u05e2\u05d9\u05e7\u05e8 \u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea \u05d4\u05de\u05e1\u05d7\u05e8\u05d9\u05d5\u05ea).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u05dc\u2011Tech Leads \/ \u05de\u05d5\u05d1\u05d9\u05dc\u05d9 \u05e6\u05d5\u05d5\u05ea<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05e9\u05e7\u05d9\u05e4\u05d5\u05ea \u05de\u05dc\u05d0\u05d4 \u2013 \u05e8\u05d5\u05d0\u05d9\u05dd \u05db\u05d9\u05e1\u05d5\u05d9 \u05dc\u05e4\u05d9 \u05de\u05d5\u05d3\u05d5\u05dc\u05d9\u05dd, \u05e1\u05e4\u05e8\u05d9\u05d5\u05ea \u05d5\u05e6\u05d5\u05d5\u05ea\u05d9\u05dd; \u05d0\u05e4\u05e9\u05e8 \u05dc\u05d6\u05d4\u05d5\u05ea \u201c\u05d7\u05d5\u05e8\u05d9\u05dd\u201d \u05d1\u05d0\u05d5\u05d8\u05d5\u05de\u05e6\u05d9\u05d4.<\/li>\n\n\n\n<li>\u05d4\u05d2\u05d3\u05e8\u05ea Quality Gate \u05d0\u05d7\u05d9\u05d3 \u05dc\u05db\u05dc \u05d4\u05e6\u05d5\u05d5\u05ea \u2013 \u05dc\u05de\u05e9\u05dc 80\u201390% Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9, \u05d5\u20110 \u05e4\u05e8\u05e6\u05d5\u05ea \u05d0\u05d1\u05d8\u05d7\u05d4.<\/li>\n\n\n\n<li>\u05d4\u2011PR decoration \u05d4\u05d5\u05e4\u05da \u05d0\u05ea \u05d4\u05db\u05d9\u05e1\u05d5\u05d9 \u05dc\u05d7\u05dc\u05e7 \u05d8\u05d1\u05e2\u05d9 \u05de\u05d1\u05d9\u05e7\u05d5\u05e8\u05ea \u05d4\u05e7\u05d5\u05d3, \u05d1\u05dc\u05d9 \u05dc\u05e4\u05ea\u05d5\u05d7 \u05e2\u05d5\u05d3 \u05de\u05e2\u05e8\u05db\u05ea.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u05dc\u2011R&amp;D Managers \/ VP Engineering \/ CTO<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05ea Enterprise \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e8\u05d0\u05d5\u05ea \u05ea\u05de\u05d5\u05e0\u05ea \u05de\u05e6\u05d1 \u05e9\u05dc \u05db\u05d9\u05e1\u05d5\u05d9 \u05d5\u05d0\u05d9\u05db\u05d5\u05ea \u05e2\u05dc \u05e4\u05e0\u05d9 \u05e2\u05e9\u05e8\u05d5\u05ea \u05d5\u05de\u05d0\u05d5\u05ea \u05e4\u05e8\u05d5\u05d9\u05e7\u05d8\u05d9\u05dd, \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea Portfolios \u05d5\u2011\u05d7\u05d9\u05ea\u05d5\u05db\u05d9\u05dd \u05dc\u05e4\u05d9 \u05e6\u05d5\u05d5\u05ea\/\u05de\u05e2\u05e8\u05db\u05ea\/\u05d8\u05db\u05e0\u05d5\u05dc\u05d5\u05d2\u05d9\u05d4.<\/li>\n\n\n\n<li>\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d4\u05d5\u05e4\u05da \u05dc\u2011KPI \u05d0\u05de\u05d9\u05ea\u05d9 \u2013 \u05d0\u05e4\u05e9\u05e8 \u05dc\u05de\u05d3\u05d5\u05d3 \u05de\u05d2\u05de\u05d5\u05ea \u05e8\u05d1\u05e2\u05d5\u05e0\u05d9\u05d5\u05ea, \u05dc\u05d7\u05d6\u05e7 \u05e6\u05d5\u05d5\u05ea\u05d9\u05dd \u05d7\u05dc\u05e9\u05d9\u05dd \u05d5\u05dc\u05d4\u05d5\u05db\u05d9\u05d7 \u05e9\u05d9\u05e4\u05d5\u05e8 \u05d0\u05d9\u05db\u05d5\u05ea \u05dc\u05d0\u05d5\u05e8\u05da \u05d6\u05de\u05df.<\/li>\n\n\n\n<li>\u05d1\u05d0\u05e8\u05d2\u05d5\u05e0\u05d9\u05dd \u05d9\u05e9\u05e8\u05d0\u05dc\u05d9\u05d9\u05dd \u05e9\u05e2\u05d5\u05d1\u05d3\u05d9\u05dd \u05d1\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e8\u05d2\u05d5\u05dc\u05d8\u05d5\u05e8\u05d9\u05d5\u05ea (\u05e4\u05d9\u05e0\u05d8\u05e7, \u05de\u05d3\u05d9\u05e7\u05dc, \u05d1\u05d9\u05d8\u05d7\u05d5\u05e0\u05d9), \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d2\u05d1\u05d5\u05d4 \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9 \u05d4\u05d5\u05d0 \u05d3\u05e8\u05d9\u05e9\u05d4 \u05d1\u05e1\u05d9\u05e1\u05d9\u05ea \u05dc\u2011Compliance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea SonarQube \u05d5\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3: \u05de\u05d4 \u05de\u05e7\u05d1\u05dc\u05d9\u05dd \u05d1\u05db\u05dc \u05de\u05d4\u05d3\u05d5\u05e8\u05d4?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d4\u05dc\u05d5\u05d2\u05d9\u05e7\u05d4 \u05e9\u05dc \u05db\u05d9\u05e1\u05d5\u05d9 \u05d4\u05e7\u05d5\u05d3 \u05e2\u05e6\u05de\u05d4 \u05d6\u05d4\u05d4 \u05d1\u05db\u05dc \u05d4\u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea \u2013 SonarQube \u05ea\u05de\u05d9\u05d3 \u05de\u05d9\u05d9\u05d1\u05d0 \u05d3\u05d5\u05d7\u05d5\u05ea \u05db\u05d9\u05e1\u05d5\u05d9 \u05de\u05d1\u05d7\u05d5\u05e5 \u05d5\u05de\u05d7\u05e9\u05d1 Coverage \/ Coverage on New Code. \u05d4\u05d4\u05d1\u05d3\u05dc \u05d4\u05d5\u05d0 \u05d1\u05e4\u05d9\u05e6\u2019\u05e8\u05d9\u05dd \u05e9\u05de\u05e1\u05d1\u05d9\u05d1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Community Edition<\/strong> \u2013 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e2\u05dc \u05d4\u2011main branch \u05d1\u05dc\u05d1\u05d3, \u05dc\u05dc\u05d0 Branch Analysis \u05d5\u05dc\u05dc\u05d0 PR decoration. \u05de\u05ea\u05d0\u05d9\u05dd \u05d1\u05e2\u05d9\u05e7\u05e8 \u05dc\u05e6\u05d5\u05d5\u05ea\u05d9\u05dd \u05e7\u05d8\u05e0\u05d9\u05dd \u05d0\u05d5 PoC.<br><\/li>\n\n\n\n<li><strong>Developer Edition<\/strong> &#8211; \u05e0\u05d9\u05ea\u05d5\u05d7 \u05e2\u05e0\u05e4\u05d9\u05dd (Branch Analysis) \u05de\u05dc\u05d0 + PR decoration \u05dc\u2011GitLab, GitHub, Bitbucket, Azure DevOps; \u05d6\u05d4 \u05d4\u05de\u05e7\u05d5\u05dd \u05e9\u05d1\u05d5 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d4\u05d5\u05e4\u05da \u05dc\u05d7\u05dc\u05e7 \u05de\u05d4\u2011Merge Flow \u05d4\u05d9\u05d5\u05de\u05d9\u05d5\u05de\u05d9.<br><\/li>\n\n\n\n<li><strong>Enterprise Edition<\/strong> \u2013 \u05db\u05dc \u05de\u05d4 \u05e9\u05d9\u05e9 \u05d1\u2011Developer, \u05d1\u05e0\u05d5\u05e1\u05e3 \u05dc\u2011Portfolios, \u05d3\u05d5\u05d7\u05d5\u05ea \u05e0\u05d9\u05d4\u05d5\u05dc\u05d9\u05d9\u05dd \u05d5\u05d9\u05db\u05d5\u05dc\u05d5\u05ea \u05de\u05ea\u05e7\u05d3\u05de\u05d5\u05ea (Advanced Security, SBOM \u05d5\u05e2\u05d5\u05d3) \u05e9\u05de\u05d0\u05e4\u05e9\u05e8\u05d9\u05dd \u05dc\u05e8\u05d0\u05d5\u05ea \u05db\u05d9\u05e1\u05d5\u05d9 \u05d5\u05d0\u05d9\u05db\u05d5\u05ea \u05d1\u05e8\u05de\u05ea \u05d0\u05e8\u05d2\u05d5\u05df.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u05dc\u05d4\u05e9\u05d5\u05d5\u05d0\u05d4 \u05de\u05e4\u05d5\u05e8\u05d8\u05ea \u05d9\u05d5\u05ea\u05e8 \u05d1\u05d9\u05df \u05d4\u05de\u05d4\u05d3\u05d5\u05e8\u05d5\u05ea &#8211; \u05e4\u05e0\u05d5 \u05d0\u05dc\u05d9\u05e0\u05d5 (\u05d4\u05e4\u05e8\u05d8\u05d9\u05dd \u05d1\u05d4\u05de\u05e9\u05da).<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u05ea\u05d4\u05dc\u05d9\u05da \u05e2\u05d1\u05d5\u05d3\u05d4 \u05d8\u05d9\u05e4\u05d5\u05e1\u05d9: GitLab \/ GitHub + SonarQube + Code Coverage<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d1\u05d0\u05e8\u05d2\u05d5\u05e0\u05d9\u05dd \u05e8\u05d1\u05d9\u05dd \u05d0\u05e0\u05d5 \u05e8\u05d5\u05d0\u05d9\u05dd pipeline \u05d3\u05d5\u05de\u05d4:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u05de\u05e4\u05ea\u05d7 \u05e4\u05d5\u05ea\u05d7 Branch \u05d0\u05d5 Merge Request \u05d1\u2011GitLab \/ GitHub.<\/li>\n\n\n\n<li>Pipeline \u05de\u05e8\u05d9\u05e5 \u05d8\u05e1\u05d8\u05d9\u05dd \u05e2\u05dd \u05db\u05d9\u05e1\u05d5\u05d9 (\u05dc\u05de\u05e9\u05dc: mvn test + JaCoCo, pytest\u2011cov \u05dc\u2011Python, Jest \u05dc\u2011React\/Node) \u05d5\u05de\u05e4\u05d9\u05e7 \u05d3\u05d5\u05d7\u05d5\u05ea XML \/ lcov.<\/li>\n\n\n\n<li>Job \u05e9\u05dc SonarScanner \u05e8\u05e5 \u05d0\u05d7\u05e8\u05d9 \u05d4\u05d8\u05e1\u05d8\u05d9\u05dd, \u05e2\u05dd \u05d4\u05e4\u05e0\u05d9\u05d4 \u05dc\u05d3\u05d5\u05d7\u05d5\u05ea<br>(\u05dc\u05d3\u05d5\u05d2\u05de\u05d0 sonar.javascript.lcov.reportPaths=coverage\/lcov.info, sonar.python.coverage.reportPaths=coverage.xml \u05d5\u05db\u05d5\u2019).<\/li>\n\n\n\n<li>SonarQube \u05de\u05d9\u05d9\u05d1\u05d0 \u05d0\u05ea \u05d4\u05d3\u05d5\u05d7\u05d5\u05ea, \u05de\u05d7\u05e9\u05d1 Coverage \u05d5\u2011Coverage on New Code \u05d5\u05de\u05e2\u05d3\u05db\u05df \u05d0\u05ea \u05ea\u05d5\u05e6\u05d0\u05ea \u05d4\u2011Quality Gate.<\/li>\n\n\n\n<li>\u05ea\u05d5\u05e6\u05d0\u05ea \u05d4\u2011Quality Gate \u05d5\u05d4\u2011Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9 \u05e0\u05db\u05ea\u05d1\u05d9\u05dd \u05d7\u05d6\u05e8\u05d4 \u05dc\u2011PR \u05db\u2011status \/ comment. \u05d0\u05dd \u05d4\u05d2\u05d3\u05e8\u05ea\u05dd Blocking \u2013 Merge \u05d9\u05d9\u05d7\u05e1\u05dd \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9\u05ea \u05db\u05e9\u05db\u05d9\u05e1\u05d5\u05d9 \u05e0\u05de\u05d5\u05da \u05de\u05d3\u05d9.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d4\u05d3\u05e4\u05d5\u05e1 \u05d4\u05d6\u05d4 \u05e2\u05d5\u05d1\u05d3 \u05de\u05e6\u05d5\u05d9\u05df \u05d2\u05dd \u05d1\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea Self\u2011Hosted \/ Air\u2011Gapped \u2013 \u05e0\u05e7\u05d5\u05d3\u05d4 \u05d7\u05e9\u05d5\u05d1\u05d4 \u05e2\u05d1\u05d5\u05e8 \u05d0\u05e8\u05d2\u05d5\u05e0\u05d9 Enterprise \u05d5\u2011Security \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best Practices: \u05d0\u05d9\u05da \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05e1\u05e4\u05d9\u05dd \u05d7\u05db\u05de\u05d9\u05dd \u05dc\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u05de\u05d4\u05e0\u05d9\u05e1\u05d9\u05d5\u05df \u05e9\u05dc\u05e0\u05d5 \u05e2\u05dd \u05dc\u05e7\u05d5\u05d7\u05d5\u05ea \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc, \u05d5\u05d2\u05dd \u05dc\u05e4\u05d9 \u05d4\u05de\u05dc\u05e6\u05d5\u05ea \u05d4\u05e7\u05d4\u05d9\u05dc\u05d4 \u05e9\u05dc Sonar, \u05db\u05d3\u05d0\u05d9 \u05dc\u05d4\u05ea\u05d7\u05d9\u05dc \u05de\u05d2\u05d9\u05e9\u05d4 \u05e4\u05e8\u05d2\u05de\u05d8\u05d9\u05ea:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coverage \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9<\/strong> \u2013 \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05d1\u2011Quality Gate \u05e1\u05e3 \u05e9\u05dc 80\u201390% (\u05dc\u05d0 100%), \u05db\u05d3\u05d9 \u05dc\u05d0 \u05dc\u05ea\u05e7\u05d5\u05e2 \u05d0\u05ea \u05d4\u05e6\u05d5\u05d5\u05ea \u05e2\u05dc \u201c\u05e4\u05d9\u05e0\u05d5\u05ea\u201d \u05dc\u05d0 \u05e7\u05e8\u05d9\u05d8\u05d9\u05d5\u05ea.<\/li>\n\n\n\n<li><strong>Legacy Code<\/strong> \u2013 \u05dc\u05d0 \u05dc\u05d3\u05e8\u05d5\u05e9 \u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc \u05e9\u05dc \u05db\u05d9\u05e1\u05d5\u05d9 \u05d2\u05d1\u05d5\u05d4 \u05e2\u05dc \u05db\u05dc \u05d4\u05e7\u05d5\u05d3 \u05d4\u05e7\u05d9\u05d9\u05dd; \u05dc\u05d4\u05ea\u05de\u05e7\u05d3 \u05d1\u2011Clean as You Code \u2013 \u05db\u05dc \u05de\u05d4 \u05e9\u05e0\u05db\u05ea\u05d1 \u05d0\u05d5 \u05de\u05e9\u05ea\u05e0\u05d4 \u05de\u05e2\u05db\u05e9\u05d9\u05d5 \u05d7\u05d9\u05d9\u05d1 \u05dc\u05d4\u05d9\u05d5\u05ea \u05de\u05db\u05d5\u05e1\u05d4 \u05d8\u05d5\u05d1.<\/li>\n\n\n\n<li><strong>\u05e1\u05e4\u05d9\u05dd \u05e9\u05d5\u05e0\u05d9\u05dd \u05dc\u05e4\u05d9 \u05e1\u05d5\u05d2 \u05e9\u05d9\u05e8\u05d5\u05ea<\/strong> \u2013 \u05dc\u05e4\u05e2\u05de\u05d9\u05dd \u05d4\u05d2\u05d9\u05d5\u05e0\u05d9 \u05dc\u05d4\u05d7\u05de\u05d9\u05e8 \u05e2\u05dc Services \u05e7\u05e8\u05d9\u05d8\u05d9\u05d9\u05dd (Billing, Auth) \u05d5\u05dc\u05d4\u05d9\u05d5\u05ea \u05de\u05e2\u05d8 \u05d2\u05de\u05d9\u05e9\u05d9\u05dd \u05d9\u05d5\u05ea\u05e8 \u05e2\u05dc \u05db\u05dc\u05d9\u05dd \u05e4\u05e0\u05d9\u05de\u05d9\u05d9\u05dd.<\/li>\n\n\n\n<li><strong>Quality Gate \u05d0\u05d7\u05d3 \u05dc\u05db\u05dc \u05d4\u05d0\u05e8\u05d2\u05d5\u05df<\/strong> \u2013 \u05d0\u05d1\u05dc \u05e2\u05dd \u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05dc\u2011override \u05d1\u05e4\u05e8\u05d5\u05d9\u05e7\u05d8\u05d9\u05dd \u05d7\u05e8\u05d9\u05d2\u05d9\u05dd, \u05db\u05d3\u05d9 \u05dc\u05e9\u05de\u05d5\u05e8 \u05d2\u05dd \u05e2\u05dc \u05e1\u05d8\u05e0\u05d3\u05e8\u05d8 \u05d5\u05d2\u05dd \u05e2\u05dc \u05d2\u05de\u05d9\u05e9\u05d5\u05ea.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u05de\u05d4 \u05d7\u05d3\u05e9 \u05d1\u05e9\u05e0\u05d9\u05dd \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d5\u05ea \u05e1\u05d1\u05d9\u05d1 \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d5\u2011 AI?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d1\u05d2\u05e8\u05e1\u05d0\u05d5\u05ea SonarQube \u05d4\u05d0\u05d7\u05e8\u05d5\u05e0\u05d5\u05ea (2025\u20132026) SonarSource \u05de\u05d5\u05e1\u05d9\u05e4\u05d4 \u05e2\u05d5\u05d3 \u05e9\u05e4\u05d5\u05ea, \u05e9\u05d9\u05e4\u05d5\u05e8\u05d9 \u05d1\u05d9\u05e6\u05d5\u05e2\u05d9\u05dd \u05d5\u2011Advanced Security\/SCA, \u05d0\u05d1\u05dc \u05de\u05e0\u05d2\u05e0\u05d5\u05df \u05db\u05d9\u05e1\u05d5\u05d9 \u05d4\u05e7\u05d5\u05d3 \u05e0\u05e9\u05d0\u05e8 \u05d9\u05e6\u05d9\u05d1: \u05d9\u05d1\u05d5\u05d0 \u05d3\u05d5\u05d7\u05d5\u05ea \u05d7\u05d9\u05e6\u05d5\u05e0\u05d9\u05d9\u05dd, \u05d7\u05d9\u05e9\u05d5\u05d1 Coverage \u05d5\u05d9\u05d9\u05e9\u05d5\u05dd \u05e2\u05dc \u05e7\u05d5\u05d3 \u05d7\u05d3\u05e9 \u05d5\u2011Quality Gates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d1\u05de\u05e7\u05d1\u05d9\u05dc \u05e0\u05d5\u05e1\u05e4\u05d5 \u05d9\u05db\u05d5\u05dc\u05d5\u05ea AI\u2011native (\u05dc\u05de\u05e9\u05dc AI CodeFix, \u05d0\u05d9\u05e0\u05d8\u05d2\u05e8\u05e6\u05d9\u05d5\u05ea IDE \u05d5\u2011Agentic SDLC) \u05e9\u05e2\u05d5\u05d6\u05e8\u05d5\u05ea \u05dc\u05ea\u05e7\u05df Issues \u05e9\u05e0\u05de\u05e6\u05d0\u05d5 \u2013 \u05d0\u05d1\u05dc \u05d4\u05df \u05dc\u05d0 \u05de\u05d7\u05dc\u05d9\u05e4\u05d5\u05ea \u05d8\u05e1\u05d8\u05d9\u05dd \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9\u05d9\u05dd \u05d5\u05dc\u05d0 \u05de\u05d1\u05d8\u05dc\u05d5\u05ea \u05d0\u05ea \u05d4\u05e6\u05d5\u05e8\u05da \u05d1\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d2\u05d1\u05d5\u05d4.<\/p>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u05d0\u05d9\u05da ALM Toolbox \u05d9\u05db\u05d5\u05dc\u05d4 \u05dc\u05e2\u05d6\u05d5\u05e8 \u05dc\u05db\u05dd \u05dc\u05d4\u05d5\u05e6\u05d9\u05d0 \u05d9\u05d5\u05ea\u05e8 \u05de\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d1\u2011SonarQube?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ALM\u2011Toolbox \u05d4\u05d9\u05d0 \u05d4\u05de\u05e4\u05d9\u05e6\u05d4 \u05d4\u05e8\u05e9\u05de\u05d9\u05ea \u05e9\u05dc SonarQube \u05d5\u2011SonarCloud \u05d1\u05d9\u05e9\u05e8\u05d0\u05dc, \u05d5\u05de\u05dc\u05d5\u05d5\u05d4 \u05d0\u05e8\u05d2\u05d5\u05e0\u05d9\u05dd \u05d5\u05e1\u05d8\u05d0\u05e8\u05d8\u05d0\u05e4\u05d9\u05dd \u05d1\u05d4\u05e7\u05de\u05d4, \u05e9\u05d3\u05e8\u05d5\u05d2 \u05d5\u05d4\u05d8\u05de\u05e2\u05d4 \u05e9\u05dc \u05e4\u05dc\u05d8\u05e4\u05d5\u05e8\u05de\u05ea Sonar \u2013 \u05db\u05d5\u05dc\u05dc \u05d0\u05d9\u05e0\u05d8\u05d2\u05e8\u05e6\u05d9\u05d4 \u05de\u05dc\u05d0\u05d4 \u05dc\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d1\u2011GitLab, GitHub, Azure DevOps, Jenkins, TeamCity \u05d5\u05e2\u05d5\u05d3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u05d0\u05e0\u05d7\u05e0\u05d5 \u05de\u05e1\u05e4\u05e7\u05d9\u05dd:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05d9\u05d9\u05e2\u05d5\u05e5 \u05d1\u05d1\u05d7\u05d9\u05e8\u05ea \u05d4\u05de\u05d4\u05d3\u05d5\u05e8\u05d4 \u05d4\u05de\u05ea\u05d0\u05d9\u05de\u05d4 (Community \/ Developer \/ Enterprise \/ Data Center).<\/li>\n\n\n\n<li>\u05d0\u05e8\u05db\u05d9\u05d8\u05e7\u05d8\u05d5\u05e8\u05d4 \u05d5\u05d4\u05e7\u05de\u05d4 \u05d1\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea On\u2011Prem, \u05e2\u05e0\u05df \u05d0\u05d5 \u05e8\u05e9\u05ea\u05d5\u05ea \u05de\u05d1\u05d5\u05d3\u05d3\u05d5\u05ea (Air\u2011Gapped).<\/li>\n\n\n\n<li>\u05ea\u05db\u05e0\u05d5\u05df \u05e4\u05d9\u05d9\u05e4\u05dc\u05d9\u05d9\u05df CI\/CD \u05e2\u05dd \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05e2\u05d1\u05d5\u05e8 Java, .NET, Python, JavaScript\/TypeScript, Go, C++\/C \u05d5\u05e2\u05d5\u05d3.<\/li>\n\n\n\n<li>\u05d4\u05d3\u05e8\u05db\u05d5\u05ea \u05dc\u05e6\u05d5\u05d5\u05ea\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7, DevOps \u05d5\u2011AppSec \u2013 \u05db\u05d5\u05dc\u05dc Best Practices \u05dc\u2011Coverage \u05d5\u2011Quality Gates.<\/li>\n\n\n\n<li>\u05e9\u05d9\u05e8\u05d5\u05ea \u05de\u05e0\u05d5\u05d4\u05dc (Managed SonarQube) \u05dc\u05d0\u05e8\u05d2\u05d5\u05e0\u05d9\u05dd \u05e9\u05e8\u05d5\u05e6\u05d9\u05dd \u201c\u05dc\u05d0 \u05dc\u05d3\u05d0\u05d5\u05d2 \u05dc\u05ea\u05e9\u05ea\u05d9\u05ea\u201d.<\/li>\n\n\n\n<li>\u05e2\u05d6\u05e8\u05d4 \u05d1\u05d1\u05d7\u05d9\u05e8\u05ea \u05d4\u05e8\u05d9\u05e9\u05d5\u05d9 \u05d4\u05de\u05ea\u05d0\u05d9\u05dd \u05dc- SonarQube \/ SonarCloud \u05d5\u05de\u05db\u05d9\u05e8\u05ea \u05e8\u05d9\u05e9\u05d5\u05d9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u05e0\u05e9\u05de\u05d7 \u05dc\u05e2\u05d6\u05d5\u05e8 \u05dc\u05db\u05dd \u05dc\u05d1\u05e0\u05d5\u05ea \u05ea\u05d4\u05dc\u05d9\u05da Code Review \u05d5\u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05e9\u05de\u05ea\u05d0\u05d9\u05dd \u05dc\u05e6\u05d5\u05d5\u05ea \u05e9\u05dc\u05db\u05dd, \u05dc\u05e9\u05e4\u05d5\u05ea \u05e9\u05d0\u05ea\u05dd \u05e2\u05d5\u05d1\u05d3\u05d9\u05dd \u05d0\u05d9\u05ea\u05df \u05d5\u05dc\u05e8\u05d2\u05d5\u05dc\u05e6\u05d9\u05d4 \u05e9\u05d1\u05d4 \u05d0\u05ea\u05dd \u05e4\u05d5\u05e2\u05dc\u05d9\u05dd.<br><em><strong>\u05e6\u05e8\u05d5 \u05e7\u05e9\u05e8:<\/strong> <a href=\"mailto:sonarqube@almtoolbox.com\" target=\"_blank\" rel=\"noreferrer noopener\">sonarqube@almtoolbox.com<\/a> \u05d0\u05d5 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9\u05ea: 072-240-5222<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05e7\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9\u05dd:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.almtoolbox.com\/il\/sonarqube\" target=\"_blank\" rel=\"noreferrer noopener\">\u05d0\u05ea\u05e8 SonarQube \u05d9\u05e9\u05e8\u05d0\u05dc (\u05e2\u05d1\u05e8\u05d9\u05ea)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.almtoolbox.com\/blog_he\/download-review-sonarqube-measure-charts\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05e1\u05e7\u05d9\u05e8\u05d4 \u05e2\u05dc \u05ea\u05e8\u05e9\u05d9\u05de\u05d9\u05dd \u05d5\u05d2\u05e8\u05e4\u05d9\u05dd \u05e9\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e7\u05d1\u05dc \u05de- SonarQube<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.sonarqube.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05de\u05d9\u05d3\u05e2 \u05d8\u05db\u05e0\u05d9 \u05e2\u05dc \u05d4\u05de\u05d5\u05e6\u05e8<\/a><\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">\u05d4\u05de\u05d0\u05de\u05e8 \u05e4\u05d5\u05e8\u05e1\u05dd \u05dc\u05e8\u05d0\u05e9\u05d5\u05e0\u05d4 \u05d1\u05de\u05e8\u05e5 2023 \u05d5\u05e2\u05d5\u05d3\u05db\u05df \u05de\u05d0\u05d6 \u05de\u05e1\u05e4\u05e8 \u05e4\u05e2\u05de\u05d9\u05dd.<\/h5>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u05d4\u05e1\u05d1\u05e8 \u05e2\u05dc \u05db\u05d9\u05e1\u05d5\u05d9 \u05e7\u05d5\u05d3 \u05d1\u2011SonarQube: \u05d0\u05d9\u05da \u05dc\u05de\u05d3\u05d5\u05d3 Coverage \u05e0\u05db\u05d5\u05df, \u05dc\u05e9\u05dc\u05d1 \u05d3\u05d5\u05d7\u05d5\u05ea \u05db\u05d9\u05e1\u05d5\u05d9 \u05de\u05d5\u05dc \u05db\u05dc\u05d9 \u05e0\u05d9\u05d4\u05d5\u05dc \u05e7\u05d5\u05d3, \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 Quality Gates \u05d7\u05db\u05de\u05d9\u05dd \u05d5\u05dc\u05e9\u05e4\u05e8 \u05d0\u05ea \u05d0\u05d9\u05db\u05d5\u05ea \u05d4\u05e7\u05d5\u05d3<\/p>\n","protected":false},"author":5,"featured_media":13749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[680,614,367],"tags":[1163,1176,1165,1180,1166,1167,645,1177,1179,1175,1174,1178,1182,361,1160,619,1173,1159,1162,1164,1181,1170,1161,1169,1172,1171,1168],"class_list":["post-13742","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sonarcloud","category-sonarlint","category-sonarqube","tag-alm-toolbox","tag-azure-devops-sonarqube","tag-clean-as-you-code","tag-code-coverage","tag-code-coverage-github","tag-code-coverage-gitlab","tag-code-quality","tag-devops-israel","tag-devsecops-israel","tag-github-sonarqube","tag-gitlab-sonarqube","tag-jenkins-sonarqube","tag-qa","tag-sonarqube","tag-sonarqube-code-coverage","tag-sonarqube-developer-edition","tag-sonarqube-enterprise-edition","tag-sonarqube-quality-gate","tag---sonarqube","tag-1181","tag---javascript","tag-1169","tag-1172","tag-1171","tag-1168"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/13742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/comments?post=13742"}],"version-history":[{"count":24,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/13742\/revisions"}],"predecessor-version":[{"id":13791,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/13742\/revisions\/13791"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media\/13749"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media?parent=13742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/categories?post=13742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/tags?post=13742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}