zoukankan      html  css  js  c++  java
  • jenkins Build Flow job 输入参数获取和传递

    jenkins Build Flow job 输入参数获取和传递

    如果设置Build Flow的job,怎样获取手工输入的参数。

    1. 指定构建参数

    job配置中,勾选“参数化构建” --> 添加2个string类型的参数 "bdate" ,"edate"。

    2. 在 Flow DSL中获取参数

    在工作流定义框中(Define build flow using flow DSL:)填写如下脚本
    用于获取参数:

    out.println("----------------获取参数")
    def bdate_input = params.get("bdate")
    def edate_input = params.get("edate")
    out.println(bdate_input)
    out.println(edate_input)
    
    //将参数bdate和edate 传递给任务test_job;
    //test_job 必须是有2个参数的job,才能接收该参数。
    // 参数名1:参数值,参数名2:参数值 ;参数名是test_job 对应参数的名称。
    build( "test_job", bdate: bdate_input, edate: edate_input )
    

    3. 点击 "Build with Parameters" 构建

    发现数据已经可以打印出传入的参数了。

    4. 在 Flow DSL中写groovy脚本

    可以在 Flow DSL写groovy实现一些处理工作。

    import static java.util.Calendar.YEAR
    import static java.util.Calendar.MONTH
    import static java.util.Calendar.DATE
    import java.text.ParseException
    import java.text.SimpleDateFormat
    import java.util.Date
    
    def bdate_input = params.get("bdate")
    def bdate_input2 = bdate_input+"-00:00:00"
    out.println(bdate_input2)
    //out.println(edate_input)
    
    
    def sdf = new SimpleDateFormat("yyyyMMdd-HH:mm:ss")
    def now = sdf.parse(bdate_input2)
    
    
    //def now = new Date("bdate_input")
    def nextYear = now[YEAR]
    def prevMonth = now[MONTH]
    def nextDate = now[DATE] - 2
    
    def oneYearFromNow = now.updated(year: nextYear, date: nextDate, month: prevMonth).format("yyyy-MM-dd")
    out.println(oneYearFromNow)
    
  • 相关阅读:
    LeetCode278. 第一个错误的版本
    LeetCode275. H 指数 II
    LeetCode274. H 指数
    LeetCode273. 整数转换英文表示
    LeetCode268. 缺失数字
    LeetCode264. 丑数 II
    LeetCode263. 丑数
    关于解决Chrome新版本中cookie跨域携带和samesite的问题处理
    java将list转为树形结构的方法
    Python pycharm selenium hyrobot 学习中遇到的问题汇总2
  • 原文地址:https://www.cnblogs.com/honeybee/p/6925363.html
Copyright © 2011-2022 走看看