Jenkins DSL API 用于 copyartifact 权限

Jenkins DSL API for copyartifact permissions

我正在尝试添加对我的 jenkins 作业 dsl 的调用,该调用将配置该作业以允许另一个构建复制工件。但是,我无法在 Jenkins Job DSL API 中找到它的命令: https://jenkinsci.github.io/job-dsl-plugin/

这是我尝试使用 DSL 设置的选项:

这个命令存在吗?如果没有设置我的 groovy 是否可以执行此操作?

是这个one吗?

job('example') {
    steps {
        copyArtifacts('upstream') {
            includePatterns('*.xml', '*.properties')
            excludePatterns('test.xml', 'test.properties')
            targetDirectory('files')
            flatten()
            optional()
            buildSelector {
                latestSuccessful(true)
            }
        }
    }
}

编辑 看来这可能已在 google group for job-dsl

中修复
configure { project ->
  project / 'properties' / 'hudson.plugins.copyartifact.CopyArtifactPermissionProperty' / 'projectNameList' {
    'string' "*-foo"
  }
}

我想他们可能已经改变了界面,你现在需要提供明确的工作名称,但我没有插件所以我无法检查

没有内置 DSL 来设置该权限,但您可以使用 Automatically Generated DSL:

job('example') {
  properties {
    copyArtifactPermissionProperty {
      projectNames('one, two')
    }
  }
} 

我刚遇到这个问题,这对我有用:

properties([
   copyArtifactPermission('*')
])

应将 wild star 替换为逗号分隔的项目列表,这些项目需要从该项目复制人工制品。