0

我正在创建一个自定义报告,它以 html 的形式插入到电子邮件内容的正文中。我的报告生成了一个包含 3 行和多列的表格。在其中的一列中,值是通过 Jenkins 中的环境变量(类似于:$CHILD2_BUILD_RESULT)动态确定的(成功或失败)。我想根据值更改放置在其中的文本的字体颜色。成功则为绿色,失败则为红色。

我当前的代码(如下)是硬编码的,无论状态如何都显示为绿色。

这是否可能仅通过使用 CSS 或 CSS 条件格式或没有 jquery 或 javascript 的把手

<tr>
  <td>Test Result</td>
  <td style="color: green;"> <strong>$CHILD1_BUILD_RESULT </strong> </td>
  <td style="color: green;"> <strong>$CHILD2_BUILD_RESULT </strong> </td>
</tr>


4

2 回答 2

0

渲染的 HTML 将进入电子邮件的事实在这里让您有点不知所措。你可以用选择器做很多巧妙的技巧,但是电子邮件要求所有的 CSS 都被内联——这意味着没有选择器。

您最好的选择是修改构建最终电子邮件输出的过程并定义两个新的环境变量:CHILD1_BUILD_RESULT_COLORCHILD2_BUILD_RESULT_COLOR. 这些将包含字符串值“green”或“red”(取决于CHILD1_BUILD_RESULTand的值CHILD2_BUILD_RESULT)。

我知道您可能希望有一个更优雅的解决方案,但电子邮件中的 CSS 非常有限,并且一直是设计师和开发人员的痛点。

于 2020-03-05T19:41:50.210 回答
0

我想出了一个解决方案,为标签添加一个类。我将该类命名为 jenkins 环境变量,它将存储 SUCCESS 或 FAILURE 然后我根据需要内联样式 2 .SUCCESS & .FAILURE。这可以在电子邮件中显示他们想要的输出。

于 2020-03-11T13:49:51.863 回答