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)
    
  • 相关阅读:
    基于网络监听方式的电子邮件实现基础
    在一个存储过程里面执行另一个存储过程的应用
    Vim复制单个字符
    Linux下fsck修复文件系统
    (转载)2011年金山软件C++开发工程师笔试题 关于逆序输出
    (转载)C++ string详解
    (转载)Linux下网络API
    (转载)软中断和硬中断
    (转载)找工作经历总结百度offer
    (转载)Vim入门图解说明
  • 原文地址:https://www.cnblogs.com/honeybee/p/6925363.html
Copyright © 2011-2022 走看看