在Jenkins作业配置页面中,如何在作业配置页面中添加自定义构建步骤时调用JavaScript函数?

时间:2013-11-19 22:07:48

标签: javascript jenkins jenkins-plugins

我正在尝试创建一个Jenkins构建步骤插件。 在config.jelly中,我想在页面中添加构建步骤后立即在JavaScript中进行一些初始化。

我的config.jelly看起来像这样:

<f:entry title="IP" field="ip">
    <f:textbox name="ip"/>
</f:entry>
...

<script type="text/javascript">
    var ipInput = document.querySelector('input[name=ip]');
    // Do some intialization with ipInput.
</script>

但是,似乎Jenkins在不同阶段解析HTML和JavaScript内容,ipInput始终在上面的JavaScript代码段中返回null。

我可以通过使用setTimeout()来解决这个问题,但这不是一个可靠的解决方案。

1 个答案:

答案 0 :(得分:0)

尝试在输入文字后添加:

<st:once>
    <script type="text/javascript">
        var ipInput = document.querySelector('input[name=ip]');
        // Do some intialization with ipInput.
    </script>
</st:once>

如果这不起作用,另一种方法是将javascript放在一个单独的文件中,例如将以下内容添加到config.jelly:

<st:once>
    <script type="text/javascript" src="${rootURL}/plugin/yourPlugin/js/yourPlugin.js" />
</st:once>

然后在src / main / webapp下你会创建一个包含文件yourPlugin.js的子目录js:

window.onload=function() {
    var ipInput = document.querySelector('input[name=ip]');
    // Do some intialization with ipInput.
}