Jenkins 中的 WorkflowScript.with

2024-03-10

我在 jenkins 共享库中有一个类,它存储来自 jenkins 管道脚本的 WorkflowScript 类的实例,如下所示。

def myTools = new my.org.MyTools(this)

MyTools 的构造函数只是存储 WorkflowScript 的实例,如下所示......

MyTools(script){
    this.script = script
}

然后我有一个尝试使用 groovy 的方法.with on script但失败了...

myMethod(){
    script.with{
        node{
            echo "I want to be able to use pipeline syntax here"
            sh 'echo "without using script. in front of each command"'
        }
    }
}

但是当我运行这个时,我收到以下错误...

hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: org.jenkinsci.plugins.workflow.cps.CpsClosure2.node() is applicable for argument types: (org.jenkinsci.plugins.workflow.cps.CpsClosure2) values: [org.jenkinsci.plugins.workflow.cps.CpsClosure2@855f14e]
Possible solutions: clone(), use([Ljava.lang.Object;), notify(), wait(), call(), run()
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite
.java:113)

我本来期望里面的script.with闭包可以访问所有相同的东西script.,但看起来它只能访问以下方法java.lang.Object。是否有可能获得script.with具有相同上下文的函数闭包script.?


对于可以指定的常规闭包闭包用来解析方法和属性的策略 http://docs.groovy-lang.org/latest/html/api/groovy/lang/Closure.html#setResolveStrategy-int-

有选项:DELEGATE_FIRST、DELEGATE_ONLY、OWNER_FIRST(默认)、OWNER_ONLY、TO_SELF

我认为管道脚本有一种特殊的策略,并且在您的班级中有一个默认的策略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins 中的 WorkflowScript.with 的相关文章

随机推荐

  • 并行异步调用时如何获取最大出站请求?

    通过 Fiddler 分析下面的代码 我意识到使用并行扩展我最多可以获得 2 个出站请求 new string http stackoverflow com http superuser com http serverfault com h
  • 对于密集负载应用程序来说,.Net 4.5 中的 async HttpClient 是一个糟糕的选择吗?

    我最近创建了一个简单的应用程序 用于测试可以以异步方式生成的 HTTP 调用吞吐量与经典多线程方法的比较 该应用程序能够执行预定义数量的 HTTP 调用 并在最后显示执行这些调用所需的总时间 在我的测试期间 所有 HTTP 调用都是对我的本
  • 使用函数而不调用模块[重复]

    这个问题在这里已经有答案了 我将 Canopy 与 Jupyter 笔记本一起使用 我想知道是否有一种方法可以使用模块中的函数而无需调用模块 例如 如果我有 import numpy as np print np sin 2 我希望能够只输
  • 可可移动鼠标

    我正在 Snow Leopard 上编写 Mac OS X 应用程序 我有一个由 NSTimer 定期触发的步骤方法 在这种方法中 我想将鼠标移动到屏幕中央 不按下或释放任何按钮 这是我所拥有的 void step NSTimer time
  • Python 的 os.system() 是否等待进程结束?

    The Python手册 http docs python org library os html os system没有提及是否os system cmd 等待或不等待进程结束 引用手册 在子 shell 中执行命令 字符串 看起来它确实
  • 明天的 Wiki 应包含哪些功能? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 明天的 wiki 应该包含哪些功能 他们如何整合 AJAX 等 Web 2 0 功能 他们目前还缺少哪些其他功能 做什么you想查看您最喜欢的 Wik
  • TextView 上的 OnClick 事件停止 CardView 上的 RippleEffect

    我在 CardView 中有一个 TextView 通过添加 OnClick 事件并添加属性来在 CardView 上启用 Lollipop 的涟漪效果时 android foreground android attr selectable
  • 如何使用FastAPI返回JSON格式的数据?

    我在两者中编写了具有相同功能的相同 API 应用程序FastAPI and Flask 但是 当返回 JSON 时 两个框架之间的数据格式不同 两者使用相同的json库 甚至相同的代码 import json from google clo
  • 为什么 PyLint 会警告没有 __init__ ?

    我们有许多似乎不需要的Python类 init 将它们初始化为空是完全可以接受的 甚至是更好的选择 PyLint 似乎认为这是一件坏事 我是否错过了一些关于为什么没有的见解 init 是难闻的气味吗 或者我应该压制这些警告并克服它 你用这些
  • 如何进行C++对齐数组分配?

    我想修改数组分配 float a new float n 使用对齐的分配器 我倾向于尝试使用placement new 和 posix memalign 或新的 c 11 等效项 但请注意数组的新放置对于数组分配来说是有问题的 https
  • 相机意图/活动 - 避免保存到图库

    我正在使用相机活动捕捉照片 我用MediaStore EXTRA OUTPUT额外参数 图像正确保存到提供的路径 也将其保存到图库文件夹 这样我就可以在 图库 应用程序中查看图像 我可以避免这种情况吗 File file new File
  • 哪些 Git 分支模型适合您?

    我们公司目前正在使用简单的主干 发布 修补程序分支模型 并且希望了解哪些分支模型最适合您的公司或开发流程 工作流程 分支模型 以下是我所看到的三个主要描述 但它们部分相互矛盾 或者不足以解决我们遇到的后续问题 如下所述 因此 我们的团队到目
  • AVAudioRecorder - 正确的 MPEG4 AAC 录制设置

    我有一个实时应用程序 估计有 15 的用户报告记录功能不起作用 我们的测试设备上没有发生这种情况 但报告显示问题在于prepareToRecord 返回 否 我无法找到 AAC 格式的示例设置 我的任何设置是否已关闭 应用程序需要 iOS5
  • 如何将 og:Title og:Image og:Description og:url 信息从 C# 发送到 Facebook

    我的页面上有一个 赞 按钮 单击按钮后 我尝试在 facebook 中发送以下标签信息 以下是我的 赞 按钮框架
  • 如何仅使用音频编解码器制作 iOS VOIP/SIP 应用程序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 任何人都可以帮助我消除我的疑虑 我正在尝试实现 SIP 应用程序 我已经设置了 sip 服务器 并且我有我的 sip 帐户的用户名和密码
  • 在 Eclipse 中从 jar 或 war 中排除文件

    有没有办法告诉 Eclipse 不要在 JAR 或 WAR 中包含指定的文件 目录或模式 You can specify includes and excludes by opening the Project Properties alt
  • 如何在不使用 strip_tags 的情况下从变量中删除

    这是我的代码 str div this is the variable div 我想删除它的 html 标签 div 不使用 strip tags 我需要 str this is the variable 因为我的服务器不支持 strip
  • 您能否指定与 Sinatra 重定向一起使用的 HTTP 方法?

    我有这样的事情 post login do end get login do end post register do redirect login I would like to redirect to get login instead
  • 使用 AAD 在 Application Insights REST API 上进行身份验证

    到目前为止 我成功使用 Application Insights REST API 来获取带有 X Api Key 标头的指标 然而 通过我们的新仪表板 抓取多个指标 我们严重达到了 1500 个请求 API 密钥的限制 有些人建议尝试使用
  • Jenkins 中的 WorkflowScript.with

    我在 jenkins 共享库中有一个类 它存储来自 jenkins 管道脚本的 WorkflowScript 类的实例 如下所示 def myTools new my org MyTools this MyTools 的构造函数只是存储 W