小编Tob*_*ias的帖子

限制排序的条件xsl:for-each结果为n个值

我在网站上环顾四周,但无法找到特定XSL问题的解决方案.如果你认为这是一个重复的帖子,我道歉并感谢指出正确的方向.

基于下面相对简单的XML数据集,我想按项目创建一个表,但也将条目限制为更容易"消化"的项目,如该项目的"最新"10.

+---------------------------------------------------+  
| Alpha                   | Beta                    |  
+---------------------------------------------------+  
| Log_20091014_0900PM.xml | Log_20091015_0900PM.xml |  
| Log_20091013_0900PM.xml | ...                     |  
| ...                     |                         |  
+---------------------------------------------------+  
| Gamma                   | Delta                   |  
+---------------------------------------------------+  
| ...                     | ...                     |  
+---------------------------------------------------+  
Run Code Online (Sandbox Code Playgroud)

表单的XML源数据:

<LogResults>
  <Result>
    <Project>Alpha</Project>
    <Data>Log_20091013_0900PM.xml</Data>
    <Name>Log_20091013_0900PM.xml</Name>
  </Result>
  <Result>
    <Project>Alpha</Project>
    <Data>Log_20091014_0900PM.xml</Data>
    <Name>Log_20091014_0900PM.xml</Name>
  </Result>
  <Result>
    <Project>Beta</Project>
    <Data>Log_20091015_0900PM.xml</Data>
    <Name>Log_20091015_0900PM.xml</Name>
  </Result>
  <Result>
    <Project>Gamma</Project>
    <Data>Log_20091016_0900PM.xml</Data>
    <Name>Log_20091016_0900PM.xml</Name>
  </Result>
  <Result>
    <Project>Delta</Project>
    <Data>Log_20091019_0900PM.xml</Data>
    <Name>Log_20091019_0900PM.xml</Name>
  </Result>
  <Result>
    <Project>Delta</Project>
    <Data>Log_20091020_0900PM.xml</Data>
    <Name>Log_20091020_0900PM.xml</Name>
  </Result>
  ...
</LogResults>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下XSL的适当变体显示每个项目的所有结果:

<xsl:for-each select="LogResults/Result">
  <xsl:sort select="Data" order="descending" />
  <xsl:if …
Run Code Online (Sandbox Code Playgroud)

xslt

8
推荐指数
1
解决办法
6639
查看次数

Jenkins:在电子邮件正文中报告中间[windows batch]构建步骤的结果

作为Jenkins构建过程的一部分,我们运行了几个Windows批处理脚本,并希望在最后由Jenkins发送的电子邮件中报告有关这些中间步骤的一些信息.

我认为一个简单的方法是在批处理步骤中设置Windows环境变量,我们设法使用PowerShell,如下所示:

powershell.exe -Command "& {[Environment]::SetEnvironmentVariable('ThisIsATest', 'TestValue', 'Machine')}"
Run Code Online (Sandbox Code Playgroud)

在"执行Windows批处理命令"构建步骤中执行时,这会正确地设置环境变量"最终".我的意思是,如果我远程进入构建服务器,我可以验证在每次构建期间按预期创建/修改了值.

但是,尝试通过添加"在"构建后操作"下的"可编辑电子邮件通知"步骤中使用该值

Our test value: ${ENV, var="ThisIsATest"}
Run Code Online (Sandbox Code Playgroud)

到"默认内容"部分没有给出正确的结果.运用

Print full environment: ${ENV}
Run Code Online (Sandbox Code Playgroud)

还表明该值还没有?已创建.

更奇怪的是,多次运行根本没有获取有问题的环境变量 - 即使我可以在远程会话中清楚地看到它(并跟踪它的变化等).

问题:

  • 是否有其他方法可以实现我们的目标:

    "在编译/单元测试确定/失败时报告一般成功/失败但报告电子邮件正文中间步骤的其他信息"?

  • 或者也许解释一下奇怪的(至少对我来说)关于电子邮件插件没有获取人们期望的环境变量的行为?(或许可以提供一些关于在哪里寻找解决方法的新想法)

感谢您抽时间阅读.一如既往,任何建议表示赞赏.

-T

jenkins

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

jenkins ×1

xslt ×1