<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>InnovationM - Blog</provider_name><provider_url>https://www.innovationm.com/blog</provider_url><author_name>InnovationM Admin</author_name><author_url>https://www.innovationm.com/blog/author/innovationmadmin/</author_url><title>SonarQube Code Review Tool - InnovationM - Blog</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="t7SWnKEpfK"&gt;&lt;a href="https://www.innovationm.com/blog/sonarqube-code-review-tool/"&gt;SonarQube Code Review Tool&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.innovationm.com/blog/sonarqube-code-review-tool/embed/#?secret=t7SWnKEpfK" width="600" height="338" title="&#x201C;SonarQube Code Review Tool&#x201D; &#x2014; InnovationM - Blog" data-secret="t7SWnKEpfK" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script type="text/javascript"&gt;
/* &lt;![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://www.innovationm.com/blog/wp-content/uploads/2022/01/sonarqube-1024x576.png</thumbnail_url><thumbnail_width>1024</thumbnail_width><thumbnail_height>576</thumbnail_height><description>Basic Documentation SonarQube is an automatic code review tool to detect bugs, vulnerabilities, and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests. Overview In a typical development process: Developers develop and merge code in an IDE (preferably using SonarLint [&hellip;]</description></oembed>
