您的位置:首页 > 产品设计 > UI/UE

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

2017-05-31 17:59 393 查看

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: