jenkins - 正确的 Jenkins 作业 copyArtifact groovy 中的权限语法
问题描述
我搜索并发现了许多关于以编程方式向 jenkins 项目添加 copyArtifact 权限的主题,但我无法使用我的 groovy 管道生成器代码。
这是我生成多管道作业的块代码,copyArtifact
同时尝试设置权限。
24 multibranchPipelineJob("my_project") {
25 branchSources {
26 branchSource {
27 source {
28 git {
29 remote("my_repo")
30 credentialsId(${credential_id})
31 traits {
32 gitBranchDiscovery()
33 cleanBeforeCheckoutTrait {
34 extension {
35 deleteUntrackedNestedRepositories(false)
36 }
37 }
38 }
39 }
40 }
41 strategy {
42 defaultBranchPropertyStrategy {
43 props {
44 }
45 }
46 }
47 }
48 }
49 properties {
50 copyArtifactPermissionProperty {
51 projectNameList('*')
52 }
53 }
54 triggers {
55 periodic(5)
56 }
57 orphanedItemStrategy {
58 discardOldItems {
59 // numToKeep(20)
60 }
61 }
62 if ("jenkinsfile") {
63 factory {
64 workflowBranchProjectFactory {
65 scriptPath("jenkinsfile")
66 }
67 }
68 }
69 }
詹金斯不断提出以下错误:
错误:(pipeline_gen.groovy,第 50 行)没有方法签名:javaposse.jobdsl.dsl.helpers.properties.FolderPropertiesContext.copyArtifactPermissionProperty() 适用于参数类型:(structure$_run_closure1$_closure5$_closure7$_closure8$_closure10$_closure23 ) 值:[结构$_run_closure1$_closure5$_closure7$_closure8$_closure10$_closure23@27252a3] > > 完成:失败
消息说在线签名50
不好。
我尝试了以下语法:
这==>
49 properties {
50 copyArtifactPermissionProperty {
51 projectNames('*')
52 }
53 }
这==>
49 options {
50 copyArtifactPermission('*')
51 }
这==>
49 properties {
50 copyArtifactPermission('*')
51 }
这==>
49 properties ([
50 copyArtifactPermission('*'),
51 ])
但那里没有工作。
请问什么是正确的常规语法来实现这一点?
解决方案
推荐阅读
- kotlin - Kotlin 高阶函数
- aws-lambda - 如何使用 AWS Lambda 的无服务器框架获取最新的 Layer 版本
- node.js - 如何加入然后对猫鼬执行查询
- reactjs - 当我们使用reactjs单击它时如何仅向特定用户显示图标
- swift - SwiftUI - 如何在 TextField 上设置最大数量?
- machine-learning - 线性 SVM 用于线性分离具有两个特征的数据
- javascript - 有什么方法可以在 node.js 上运行外部进程并等待他的“返回”?
- android - 将 Android 源代码 (TextToSpeech) 的子集硬编码到应用程序中
- android - 我们真的需要为 Android 应用托管assetlinks.json 文件吗?
- python - 我的神经网络算法不起作用 mnist 数字