gpt4 book ai didi

groovy - 在工作流脚本中使用 Jenkins Java API

转载 作者:行者123 更新时间:2023-12-02 00:12:56 26 4
gpt4 key购买 nike

我正在尝试从 Workflow Groovy 脚本中利用 Jenkins Java。

我发现很难掌握我能做什么和不能做什么,是否有关于如何做到这一点的良好资源。

目前我想做的是获取工作空间路径,我已经得到了

def jenkins = Jenkins.instance;
def build = jenkins.getItem(env.JOB_NAME).getBuild(env.BUILD_NUMBER)

但这似乎是一个死胡同,你实际上可以用这些对象做任何有用的事情。

如果有人可以向我指出任何资源,举例说明可以像这样完成的有用的事情,或者帮助我解决获取工作空间路径的具体问题,那就太好了。

最佳答案

您可以使用标准工作流程步骤 pwd() 来获取工作区路径,而无需使用 Jenkins API。

就其他情况而言,没有特定的文档总结您可以通过工作流脚本使用 Jenkins API 执行哪些操作,因为这只是 Jenkins API 允许您执行的一般操作(请参阅 Javadoc )。您需要注意两个注意事项:

  • 几乎所有此类调用都会被 Groovy 沙箱拒绝(其中许多调用不安全)。这意味着除非您是管理员,否则您无法在安全的 Jenkins 安装中编写此类脚本。 more
  • 大多数 API 对象都不是可序列化的,这意味着您必须将它们的使用封装在用 @NonCPS 注释标记的方法中。该方法可以作为参数并返回任何可序列化(或基元)类型。 more
  • 目前不支持访问本地工作区上下文中定义的 Jenkins 模型对象的方法。 JENKINS-28385有助于。与此同时,通常有一些解决方法;例如,如果您想要在 node {} block 内使用 Node,则可以使用 Jenkins.instance.getNode(env.NODE_NAME).

关于groovy - 在工作流脚本中使用 Jenkins Java API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33173928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com