<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Azure DevOps Blog</provider_name><provider_url>https://devblogs.microsoft.com/devops</provider_url><author_name>Jean-Marc Prieur</author_name><author_url>https://devblogs.microsoft.com/devops/author/jmprieur-2/</author_url><title>SonarQube Integration Update and 2016H1 Plans - Azure DevOps Blog</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="ox8hvQlCuj"&gt;&lt;a href="https://devblogs.microsoft.com/devops/sonarqube-integration-update-and-2016h1-plans/"&gt;SonarQube Integration Update and 2016H1 Plans&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://devblogs.microsoft.com/devops/sonarqube-integration-update-and-2016h1-plans/embed/#?secret=ox8hvQlCuj" width="600" height="338" title="&#x201C;SonarQube Integration Update and 2016H1 Plans&#x201D; &#x2014; Azure DevOps Blog" data-secret="ox8hvQlCuj" 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);
//# sourceURL=https://devblogs.microsoft.com/devops/wp-includes/js/wp-embed.min.js
/* ]]&gt; */
&lt;/script&gt;
</html><thumbnail_url>https://devblogs.microsoft.com/devops/wp-content/uploads/sites/6/2018/08/vstsfeature.png</thumbnail_url><thumbnail_width>560</thumbnail_width><thumbnail_height>350</thumbnail_height><description>[Updated April 5th: In the &#x201C;Plans for H1&#x201D; section, added links to blog posts on released features] Back in September Stuart explained our SonarQube Integration plans with Visual Studio, TFS and Visual Studio Team Services. In December he updated the blog post with what we had done. With the Visual Studio Team Services Features Timeline [&hellip;]</description></oembed>
