Jenkins Pipeline创建带描述的文件夹实现方法及示例求助
前提条件
- Jenkins实例必须已安装
Job DSL插件,这是Pipeline操作文件夹、任务的核心依赖 - 运行Pipeline的账号需要持有目标父级路径的
Job/Create权限
方案1:声明式Pipeline实现
pipeline { agent any stages { stage('创建带描述的文件夹') { steps { jobDsl scriptText: ''' folder('业务线/项目A/生产环境') { displayName('项目A生产任务集') // 非必填,配置Jenkins控制台展示的友好名称 description('该文件夹用于存放项目A生产环境所有构建、部署任务,2024年Q2正式启用') // 自定义描述内容,支持合法HTML标签 // 可扩展配置权限、文件夹属性等,示例: // authorization { // permission('hudson.model.Item.Build', 'dev-group') // } } ''', failOnSeedCollision: true // failOnSeedCollision设为true时,同名文件夹已存在会直接抛出异常;设为false会直接更新已有文件夹的配置 } } } }
方案2:脚本式Pipeline实现
node { stage('创建带描述的文件夹') { def targetFolder = '业务线/项目B/测试环境' def folderDesc = '该文件夹存放项目B测试环境的单元测试、集成测试、镜像打包任务,仅测试人员可修改配置' jobDsl scriptText: """ folder('${targetFolder}') { description('${folderDesc}') } """ } }
注意事项
- 文件夹路径支持多级嵌套,如果父级文件夹不存在,Job DSL会自动逐级创建所有缺失的父级文件夹
- 需要更新已有文件夹的描述时,直接修改描述内容重新运行Pipeline即可,新配置会覆盖原有配置
- 不要在描述中插入不可信的用户输入,避免XSS风险,Jenkins默认会对文件夹描述的HTML做标签过滤,可在全局安全配置中调整HTML渲染规则
内容的提问来源于stack exchange,提问作者J Vipe
相关产品推荐
相关产品推荐

