代码之家  ›  专栏  ›  技术社区  ›  Florian Castellane raidsan

jenkins管道:构建步骤的返回值

  •  10
  • Florian Castellane raidsan  · 技术社区  · 6 年前

    在jenkins的集成管道中,我使用 the build step ,如下所示:

    stage('trigger all builds')
    {
      parallel
      {
        stage('componentA')
        {
          steps
          {
            script 
            {
              def myjob=build job: 'componentA', propagate: true, wait: true
            }
          }
        }
        stage('componentB')
        {
          steps 
          {
            script
            {
              def myjob=build job: 'componentB', propagate: true, wait: true
            }
          }
        }
      }
    }
    

    我想访问 build 步骤,以便我可以在groovy脚本中知道触发了什么作业名、编号。

    我在示例中发现,返回的对象具有如下getter getProjectName() getNumber() 我可以用来做这个。

    但是,我如何知道返回对象的确切类以及可以对其调用的方法列表?这个好像是 Pipeline documentation 是的。我特别要求这种情况,但一般来说,我如何知道返回对象的类及其文档?

    1 回复  |  直到 6 年前
        1
  •  25
  •   mkobit    6 年前

    step文档是基于一些与插件捆绑在一起的文件生成的,这些文件有时是不够的。一个简单的方法就是打印出 class 通过调用 getClass 以下内容:

    def myjob=build job: 'componentB', propagate: true, wait: true
    echo "${myjob.getClass()}"
    

    这个输出将告诉您结果(在本例中)是 org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper 它有 published Javadoc 是的。

    对于其他情况,我通常必须深入研究jenkins源代码。以下是我的总体策略: