当前位置: 首页 > 知识库问答 >
问题:

在我的 Jenkins 管道中使用 groovy-postbuild-plugin

仲孙向明
2023-03-14

我正在尝试在我的Jenkins管道中使用groovy-postbuild-plugin,我可以让它显示纯文本,但我不能使用它的参数。

所以这是有效的:

stage('postbuild disply service built') {
    currentBuild.rawBuild.getActions().add(GroovyPostbuildAction.createShortText("test"));
}

但是这个没有:

stage('postbuild disply service built') {
    manager.addShortText("${manager.build.buildVariables.get('REPO_NAME')}");
}

这是我得到的错误:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified field org.jenkinsci.plugins.workflow.job.WorkflowRun buildVariables

共有1个答案

彭阳朔
2023-03-14

所以我可以使用“createrShortText”类,它将双引号内的内容作为参数。大概是这样的:

stage('postbuild display service and branch') {
    currentBuild.rawBuild.getActions().add(GroovyPostbuildAction.createShortText("${REPO_NAME}"));
    manager.addShortText("${SCM_BRANCH}", "black", "white", "1px", "green");
}
 类似资料:
  • 我对Jenkins pipeline非常陌生,我正在Groovy中构建一个小型共享库<在这种情况下,我试图提出一些单元测试,然后我必须模拟管道对象。 基本上,我有一个Groovy类,其中包含一个方法,该方法使用凭据执行一些操作: 因此,当谈到这个方法的单元测试时,我创建了一个PipelineMock Groovy类来(尝试)用凭据和用户名密码模拟

  • 我目前正在尝试从jenkins管道中的文件加载一个自定义groovy类。我尝试了这里提出的解决方案: 如何在Jenkins管道中导入类文件? 作为... JenkinsPipelineUtilityClass.groovy 詹金斯档案 并尝试同样使用GroovyClassLoader(再次使用上述类) 詹金斯档案 我在这两方面都遇到了同样的错误: 我已经检查了正在进行的脚本批准,里面什么都没有,我

  • 我正在构建一个jenkins管道,作业可以由远程触发。我需要知道哪个IP触发了作业。所以我有一个小Groovy脚本,它返回远程IP。使用EnvInject-plugin,我可以轻松地在正常的自由式作业中使用这个变量,但是我如何在管道中使用它?我不能将EnvInject-plugin与管道插件一起使用:( 这是获取IP的小脚本:

  • 问题内容: 是否可以将外部groovy脚本加载到groovy postbuild插件中,而不是将脚本内容粘贴到每个作业中?我们大约有200个工作,因此更新所有工作非常耗时。我知道我可以编写一个脚本来直接更新配置文件(如本文中:向所有作业添加JenkinsGroovy Postbuild步骤),但是这些作业运行24x7,因此当我可以重新启动Jenkins或重新加载配置时找到一个窗口是有问题的。 谢谢

  • 我们有重复使用的詹金斯管道和使用相同功能的一些管道。现在我的问题是:重用它们的正确方法是什么。我使用一个共享库,但我不知道我是否必须添加漂亮的脚本或完整的管道?漂亮的脚本似乎是在根中执行的,而不是我的詹金斯工作区,这是一个大问题。你是如何正确处理这件事的?

  • 问题内容: 使用Jenkins 2.x中 的Pipeline插件,如何从一个步骤中访问在阶段或节点级别某个位置定义的Groovy变量? 简单的例子: 在Jenkins输出页面上给出以下内容: 可以看到,在该步骤中将打印一个空字符串。 解决方法是通过以下方式在环境范围内定义变量 并通过打印 但是,这种滥用会破坏此任务的环境范围。 问题答案: 要使用可模板化的字符串(将变量替换为字符串),请使用双引号