Advertisement
Guest User

Untitled

a guest
May 17th, 2017
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                 $xslt = @"
  2. <?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dr="http://schemas.microsoft.com/sqlserver/dac/DeployReport/2012/02"><xsl:output method="text" /><xsl:template match="/"><xsl:if test="count(dr:DeploymentReport/dr:Errors/dr:Error)!=0">
  3. ## Errors
  4.            <xsl:for-each select="dr:DeploymentReport/dr:Errors/dr:Error">
  5.  - <xsl:value-of select="."/></xsl:for-each></xsl:if><xsl:if test="count(dr:DeploymentReport/dr:Warnings/dr:Warning)!=0">
  6. ## Warnings
  7.            <xsl:for-each select="dr:DeploymentReport/dr:Warnings/dr:Warning">
  8.  - <xsl:value-of select="."/></xsl:for-each></xsl:if><xsl:if test="count(dr:DeploymentReport/dr:Alerts/dr:Alert[dr:Issue[not(@Id)]])!=0">
  9. ## Alerts
  10.          <xsl:for-each select="dr:DeploymentReport/dr:Alerts/dr:Alert[dr:Issue[not(@Id)]]">
  11.  ### <xsl:value-of select="@Name"/><xsl:for-each select="dr:Issue">
  12.    - <xsl:value-of select="@Value"/></xsl:for-each></xsl:for-each></xsl:if><xsl:if test="count(dr:DeploymentReport/dr:Operations/dr:Operation)!=0">
  13. ## Operations
  14.          <xsl:for-each select="dr:DeploymentReport/dr:Operations/dr:Operation">
  15. ###  <xsl:value-of select="@Name"/><xsl:for-each select="dr:Item">
  16.  - <xsl:value-of select="@Value"/> `<xsl:value-of select="@Type"/>`
  17.    <xsl:apply-templates/></xsl:for-each></xsl:for-each></xsl:if><xsl:if test="count(dr:DeploymentReport/dr:Operations)=0">
  18. No changes - models are identical.
  19.        </xsl:if></xsl:template><xsl:template match="dr:DeploymentReport/dr:Operations/dr:Operation/dr:Item/dr:Issue"><xsl:text disable-output-escaping="yes"><![CDATA[>]]></xsl:text> **<xsl:value-of select="/dr:DeploymentReport/dr:Alerts/dr:Alert/dr:Issue[@Id=current()/@Id]/../@Name"/>**: _<xsl:value-of select="/dr:DeploymentReport/dr:Alerts/dr:Alert/dr:Issue[@Id=current()/@Id]/@Value"/>_
  20.  </xsl:template></xsl:stylesheet>
  21. "@
  22.                 set-content reportToMarkDown.xslt  $xslt
  23.                 $XslCompiledTransform = New-Object System.Xml.Xsl.XslCompiledTransform;
  24.                 $XslCompiledTransform.Load(("{0}\{1}" -f $pwd,"reportToMarkDown.xslt"))
  25.                 $XslCompiledTransform.Transform(("{0}\{1}" -f $pwd, $reportArtifact), ("{0}\{1}" -f $pwd, "out.md"))
  26.                 $reportMd = Get-Content "out.md"
  27.                 Set-OctopusVariable -name "ReportMd" -value $reportMd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement