{"id":273,"date":"2026-10-13T06:41:15","date_gmt":"2026-10-13T06:41:15","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/2010\/07\/19\/sonar-pdf-report-plugin-21\/"},"modified":"2026-10-13T06:41:15","modified_gmt":"2026-10-13T06:41:15","slug":"sonar-pdf-report-plugin-21","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/sonar-pdf-report-plugin-21\/","title":{"rendered":"Sonar PDF Report Plugin 2.1: Integrations, SVG Support, and What the Release Actually Added"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>Originally published on 2010-07-19; fully revised and updated.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sonar PDF Report Plugin 2.1 was announced as a <strong>commercial edition<\/strong> release focused on richer PDF content and better branding assets. If you maintain older Sonar environments or need historical context for reporting pipelines, this update clarifies what the original announcement stated, what it did not state, and how to operationalize similar reporting flows safely.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2010\/07\/sonar-pdf-report-plugin.png\" alt=\"Sonar PDF Report Plugin\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The original announcement (attributed to Antonio) shared availability details and pointed readers to the product page: <a href=\"http:\/\/blog.klicap.es\/products\/sonarpdfreportplugin\">http:\/\/blog.klicap.es\/products\/sonarpdfreportplugin<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What changed in Sonar PDF Report Plugin 2.1<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Based on the source post, version 2.1 highlighted two feature additions:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Inclusion of information provided by other installed plugins.<\/li><li>Support for SVG images in the report front page and header.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>2.1 release item<\/th><th>Why teams care<\/th><\/tr><\/thead><tbody><tr><td>Include data from other installed plugins<\/td><td>Lets PDF reports reflect a broader set of quality metrics beyond core Sonar data.<\/td><\/tr><tr><td>Use SVG images in front page and header<\/td><td>Improves report branding quality, especially for logos and scalable graphics.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Integrations explicitly listed in the announcement<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The release note stated support for the following plugin integrations:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Plugin name in source<\/th><th>Mentioned as supported in 2.1<\/th><th>Implication from announcement text<\/th><\/tr><\/thead><tbody><tr><td>Technical Debt Plugin<\/td><td>Yes<\/td><td>Its plugin-provided information can be included in generated PDF reports.<\/td><\/tr><tr><td>SIGMM Plugin<\/td><td>Yes<\/td><td>Its plugin-provided information can be included in generated PDF reports.<\/td><\/tr><tr><td>Total Quality Plugin<\/td><td>Yes<\/td><td>Its plugin-provided information can be included in generated PDF reports.<\/td><\/tr><tr><td>Quality Index Plugin<\/td><td>Yes<\/td><td>Its plugin-provided information can be included in generated PDF reports.<\/td><\/tr><tr><td>Taglist Plugin<\/td><td>Yes<\/td><td>Its plugin-provided information can be included in generated PDF reports.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How this reporting flow typically works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In practical terms, PDF reporting sits after analysis and metric computation. The plugin aggregates project data and renders a distributable document for stakeholders.<\/p>\n\n\n\n<pre class=\"mermaid\">\nflowchart TD\n    A[Run project analysis] --> B[Sonar stores project measures]\n    B --> C[Installed plugins add extra measures]\n    C --> D[PDF report plugin collects data]\n    D --> E[Apply front page and header assets]\n    E --> F[Generate and share PDF report]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Practical usage pattern in a CI pipeline<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The original post did not include command examples, but teams commonly run static analysis first, then produce reports from the Sonar UI or reporting plugin integration points.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php language-bash\"><span class=\"hljs-comment\"># Example analysis step before report generation<\/span>\nmvn clean verify sonar:sonar \\\n  -Dsonar.host.url=http:<span class=\"hljs-comment\">\/\/sonar.example.internal \\<\/span>\n  -Dsonar.login=$SONAR_TOKEN<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">After analysis completes, generate the PDF from the reporting plugin path configured in your Sonar instance. The exact UI location and options depend on server and plugin version.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best practices for legacy Sonar reporting plugins<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Validate plugin compatibility against your exact Sonar\/SonarQube version before upgrading.<\/li><li>Keep report templates and branding assets in version control for traceability.<\/li><li>Treat generated PDFs as build artifacts and archive them with release metadata.<\/li><li>Confirm each integrated plugin is installed and healthy before relying on its metrics in executive reports.<\/li><li>Document a fallback path (for example, UI exports or alternate reporting) in case legacy plugins break during platform upgrades.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This revised note explains what was explicitly announced for Sonar PDF Report Plugin 2.1: broader plugin data inclusion and SVG image support. It also maps the reporting workflow and gives a practical adoption checklist for DevOps teams maintaining legacy Sonar setups.<\/p>\n","protected":false},"author":1,"featured_media":4391,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[4177,296,4176,4175,3341,2660,4169,4173,4171,356,516,4170,4174,4172,4178,284,226,4179],"class_list":["post-273","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised","tag-about-sonar-pdf-report-plugin","tag-features","tag-generate-sonar-report-in-pdf","tag-how-to-create-pdf-report-on-sonar","tag-new-release","tag-new-version","tag-pdf-report","tag-pdf-report-plugin","tag-pdf-report-sonar-plugin-2-1","tag-plugin","tag-sonar","tag-sonar-pdf-report-plugin-2-1","tag-sonar-pdf-report-plugin-features","tag-sonar-plugin","tag-sonarpdf-report-plugin-commercial-edition","tag-update","tag-upgrade","tag-what-is-new-in-sonar-pdf-report-plugin-2-1"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=273"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/273\/revisions"}],"predecessor-version":[{"id":79101,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/273\/revisions\/79101"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/4391"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}