1

我使用返回 html 的 Scriptler plagin 和活动选择参数。现在我需要在那个 html 中插入部分。我试着这样做

if (!Settings.contains("ExtraDeployTargets"))
{
    return "";
}

html =
  """
<script>
    function Test(selectObject)
    {
        console.log("Hi");
    }
</script>

<label style="font-size: 14px; font-weight: bold; display: inline;">
    Choose number of additional instances:
</label>
<select name="value" style="height: 30px; font-size: 14px; display: inline-block;", onchange="Test(this)">
    <option value="AdditionalInstancesCount=0">1</option>
    <option value="AdditionalInstancesCount=1">1</option>
    <option value="AdditionalInstancesCount=2">2</option>
    <option value="AdditionalInstancesCount=3">3</option>
    <option value="AdditionalInstancesCount=4">4</option>
    <option value="AdditionalInstancesCount=5">5</option>
</select>
  """

return html;

在此处输入图像描述

但功能在 HTML 中不起作用。同样在页面 HTML 代码中没有 onchange 属性和部分

在此处输入图像描述

问题是 - “如何在 JenkinsFile 中的 HTML 中插入脚本?”

4

1 回答 1

1

请参阅Active Choices Reactive Reference ParameterGroovy Script内联帮助:

如果此脚本用于Active Choices Reactive Reference Parameter的任何HTML选择类型,则生成的 HTML 输出将被清理以删除除基本格式(如标签)之外的所有内容,除非脚本在沙箱之外运行。此模式需要 Jenkins 管理员的批准才能防止跨站点脚本 (HTML) 和任意代码执行 (Groovy)。script

于 2021-10-27T21:50:34.380 回答