标签: jelly

Jenkins Email-ext插件 - 令牌

嗨,我正在使用Jenkins Email-ext插件.

我在哪里可以找到我可以在电子邮件的html内容中引用的所有内容的列表?

例如:我最近发现您可以使用以下方法将参数值放入邮件中:

${ENV,var="variable_name"}
Run Code Online (Sandbox Code Playgroud)

但是说我想获得构建日志或内部版本号或构建状态(通过失败).您知道是否有文档列出了此插件中可参考的所有数据.

谢谢!!

jelly jenkins email-ext

15
推荐指数
1
解决办法
8934
查看次数

如何编写Jenkins email-ext模板来显示标准测试报告等测试结果

我已经调整了标准果冻模板以在表格中显示当前的测试结果,但我真的希望能够显示差异,如Jenkins自己的测试结果页面所示.

例如:

JUnit Tests: 0 failures (±0) , 1 skipped (+1)

Package               Duration   Fail  (diff)  Skip  (diff)  Total  (diff)
foo.bar.baz              89 ms      0      0     1       +1     5       +2
Run Code Online (Sandbox Code Playgroud)

hudson jelly jenkins email-ext

14
推荐指数
3
解决办法
5万
查看次数

如何在build步骤的config.jelly中使用optionalBlock

我有创建构造函数的问题,Jenkins可以调用一些源自Jelly表单的JSON数据.为了测试,我使用mvn hpi:create以下两个自定义文件创建了一个最小的Jenkins插件:

SRC /主/资源/富/海德/詹金斯/插件/ OptionalBlockSampleBuilder/config.jelly

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:block>
    <table>
        <f:optionalBlock name="enableText" title="Enable optional text" checked="${instance.enableText}">
            <f:entry title="Optional text" field="text">
                <f:textbox />
            </f:entry>
        </f:optionalBlock>
    </table>
</f:block>
Run Code Online (Sandbox Code Playgroud)

的src/main/JAVA /富/海德/詹金斯/插件/ OptionalBlockSampleBuilder.java

package foo.hyde.jenkins.plugins;

public class OptionalBlockSampleBuilder extends hudson.tasks.Builder {

    public final String text;
    public final boolean enableText;

    @org.kohsuke.stapler.DataBoundConstructor
    public OptionalBlockSampleBuilder(String text, Boolean enableText) {
        this.text = text;
        this.enableText = (enableText != null) && enableText;
    }

    @Override
    public boolean perform(hudson.model.AbstractBuild build, hudson.Launcher launcher, hudson.model.BuildListener listener) {
        listener.getLogger().println("OptionalBlockSampleBuilder …
Run Code Online (Sandbox Code Playgroud)

java hudson jelly jenkins

10
推荐指数
2
解决办法
4349
查看次数

Jenkins UI定制

我想改变Jenkins的外观和感觉(ui自定义).此外,我想添加新的视图(比如新的html页面或网页),并导航到所需的jenkins页面等.

如果任何单个插件可以帮助我这么做,请告诉我.任何相关信息(如何通用)将非常有帮助.任何建议或链接或教程也不胜感激.

PS: - jenkins相当新鲜.来自这里的输入将帮助我在问题中添加更多细节.

我正在寻找使用以下插件指定Skinning Jenkins的文档或教程: -

https://wiki.jenkins-ci.org/display/JENKINS/Simple+Theme+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/jQuery+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/jQuery+UI+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/JSWidgets+Plugin
Run Code Online (Sandbox Code Playgroud)

插件页面提供的信息很少,关于如何使用这些以及可以更改UI的好处和扩展.

任何文档或链接表示赞赏.

user-interface hudson jelly jenkins jenkins-plugins

10
推荐指数
1
解决办法
9698
查看次数

Jenkins插件Dev repeatableProperty错误

我想在我的构建配置中实现一些嵌套属性,我需要使用repeatableProperty.

每次我将repeatableProperty添加到我的果冻文件时,我在加载配置页面时会收到异常.

<f:entry>
   <f:repeatableProperty field="test"></f:repeatableProperty>
</f:entry>
Run Code Online (Sandbox Code Playgroud)

然后出现此错误:

javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/C:/Program%20Files/apache-maven-3.3.3/testplugin/target/work/webapp/WEB-INF/lib/jenkins-core-1.621.jar!/lib/form/repeatableProperty.jelly:66:69: <st:include> Error setting property 'class', exception - org.apache.commons.beanutils.ConversionException: No value specified for 'Class'
Run Code Online (Sandbox Code Playgroud)

我看了一些其他插件,他们都只是像这样使用repeatableProperty.另外我google了很多,但没有很多比赛,我发现的比赛没有帮助.需要你帮助的人.

plugins jelly jenkins

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

在Jenkins插件的配置果冻文件中填写ArrayList

尝试实现插件的配置文件时出现问题。我使用现有的SideBar插件启动了程序,但是在将a List<String>作为变量添加到时遇到了问题class Actionprivate List<String> projects; 如何在果冻文件中填充这样的列表?

我尝试这样做:

<f:entry>
 <f:optionalBlock title="Project to be considered :">
  <f:repeatable var="project" items="${link.projects}" name="projects" add="Add a project">
   <f:entry title="Project 1 :">
   </f:entry>
  </f:repeatable>      
 </f:optionalBlock>
</f:entry>
Run Code Online (Sandbox Code Playgroud)

我在links.jelly文件中添加了这些行,但是它不起作用。

如果有人知道该怎么做,那就太好了。

谢谢

plugins list jelly jenkins

5
推荐指数
1
解决办法
2807
查看次数

Jenkins将构建参数传递给email-ext模板

如何将构建参数传递给email-ext jelly模板?在进行一些构建之前,我想放置一个不同的自定义消息/一些公告/非代码更改,决定等。我正在考虑将其作为构建参数,以便出现一个屏幕提示我输入消息,如果我要手动构建。

编辑:我找到了一个解决方案,构建参数可以作为Env变量使用,我有以下代码可以访问Env变量:

   <j:set var="buildenv" value="${build.getEnvironment(listener)}"/>
   <j:set var="customMsg" value="${buildenv.get('customMsg')}"/>
   ${customMsg}
Run Code Online (Sandbox Code Playgroud)

java hudson jelly jenkins email-ext

5
推荐指数
1
解决办法
5693
查看次数

如何通过JELLY_SCRIPT在Jenkins中将ansicolor与email-ext结合使用?

我有一个使用插件ansicolor和的Jenkins服务器email-ext。Jenkins使用ANSI转义的文本运行脚本,该脚本已在Jenkins Web GUI的控制台输出上正确转换为以颜色编码的HTML。

Email-ext用于使用Jelly脚本模板发送包含日志文件的电子邮件,该模板基于内置 html模板(即Default Contentbox具有value ${JELLY_SCRIPT,template="html_modified"})。但是,即使电子邮件Content Type设置为,电子邮件中的日志数据也不会使用颜色编码HTML

根据在果冻提示电子邮件-EXT文档,可以

...通过查询以下构建操作来获取其他插件操作的对象: ${it.getAction('hudson.plugins.fitnesse.FitnesseResultsAction')}

我认为这可以用来解决以下问题,但是我不确定如何解决。一个人如何it.getAction()在Jelly模板中使用该函数来利用ansicolorHTML发射器?我尝试查看源代码以找到可以在Jelly技巧示例中使用的“动作”。

需要注意的是它出现在被收购的日志数据的内置html模板使用build.getLog(100)其中,出于某种原因,并没有提供原ANSI转义日志文本。如果此类文本通过ansicolor传递,则不会有HTML标记,因为没有要转换的ANSI标记。因此,html模板中的循环应从日志文件中提取。

这是html我要修改的模板片段

  1. 从文件中提取日志,而不是build.getLog(100)
  2. 通过文本ansicolor以使其成为漂亮的HTML

<TABLE width="100%" cellpadding="0" cellspacing="0">
  <TR>
    <TD class="bg1">
      <A href="${rooturl}${build.url}">${rooturl}${build.url}><B>CONSOLE OUTPUT</B></A>
    </TD>
  </TR>
  <j:forEach var="line" items="${build.getLog(100)}">
    <TR>
      <TD class="console">${line}</TD>
    </TR>
  </j:forEach>
</TABLE>
Run Code Online (Sandbox Code Playgroud)

jelly jenkins-plugins email-ext

5
推荐指数
0
解决办法
450
查看次数

詹金斯:hudson.model.User.current() 返回系统

我正在运行以下命令来获取当前登录 jenkins 的用户。

hudson.model.User.current()
Run Code Online (Sandbox Code Playgroud)

但是,我得到的结果是“SYSTEM”。这是否意味着 jenkins 中的所有构建都以 SYSTEM 用户身份发生。如果是这种情况,下面的方法是获取触发构建的用户的用户 ID 的唯一方法吗?

for(hudson.model.Cause cause : build.causes) {
userBuild = cause.getUserName()
}
Run Code Online (Sandbox Code Playgroud)

实际上,我正在尝试在 jenkins 中编辑 buildCaption.jelly,以便只有触发构建的用户才能取消构建。我被困在需要获取当前登录用户的用户 ID 的地方,以便我可以检查他是否与开始构建的用户相同。任何想法,请提出建议。提前致谢。

groovy jelly jenkins jenkins-pipeline

5
推荐指数
0
解决办法
1237
查看次数

如何验证取决于表单状态的果冻形式的字段?

我正在构建一个访问远程服务器的Jenkins插件.作为配置的一部分,用户需要输入服务器的URL并提供访问密钥.然后插件将从服务器检索资源列表,用户需要从html select输入中选择适当的资源.

我正在使用/ lib/form命名空间来创建config.jelly文件,并使用标记填充select:

<f:entry title="Resource" field="resource"> <f:select /> </f:entry>

在我的Descriptor课程中,我有一个方法:

doFillResourceItems(@QueryParamter final String url, @QueryParameter final String key)

并且当onchange浏览器触发事件时,订书机似乎调用该方法(如预期的那样).

我的问题在于doCheckResource(@QueryParameter final String value)方法.访问ListBoxModeldoFillResourceItems()方法返回的对象会很有帮助,因为我想向用户显示的错误消息应该是不同的,这取决于插件是否能够检索资源列表.一种选择是简单地将the urlkeyfields注入到doCheckResource方法中,然后再试一次,但是我们正在检索两次资源列表,这是不理想的.

为了让Stapler将之前检索ListBoxModel到的对象注入验证方法调用,我需要做什么?

java jelly jenkins jenkins-plugins

5
推荐指数
0
解决办法
472
查看次数