Script Runner之Behavior功能应用实例
Scripts Runner的behavior功能实在是令人惊叹,用来实现页面上的输入限制或者自动输入时,相当的方便。这段视频中展示的效果,就是通过Scripts Runner达成的。
在任务分解的时候,大家很自然的希望能够自动将任务的开始时间设置为当前时间或明天,到期日可以根据工作量预估自动的计算,如果有前置任务的话,开始时间能够自动安排在前置任务完成时间之后,如果还能够避开周末或节假日就更完美了。而这个想法,通过Script Runner的Behavior+groovy定制化脚本开发,变得并不是那么的难以实现了。
需求描述
开始日期:默认为当前日期+1,若添加了问题链接为”is blocked by”的子任务,则根据所有阻塞任务计算最晚到期日,此时创建issue的开始日期=最晚到期日+1,开始日期也允许自行选择更晚的时间
工期预估:默认为1,允许自行输入,单位为工作日
到期日:根据开始时间+工期预估获得,计算时需剔除周末及节假日
由于JIRA的内置字段中并没有开始日期,首先需要创建一个日期型的自定义字段:开始日期,字段类型选择为:日期选择器
需求中要求工期预估的单位为天,因此新建一个数值型的字段”预计工期”
接下来需要在Behavior插件中配置”开始日期”、”预计工期”、”到期日”及”问题链接”这几个字段的行为干预。
Behavior设置
【设置】->【插件】->【Behaviors】,添加一个Behavior
点击下图中的【Field】或【Add Mapping】进行行为设置
【Add Mapping】主要是设置该行为在什么项目中,针对什么问题类型生效,刚开始的时候,可以只选择测试的项目,测试通过后再向所有项目开放。
接下来就是配置的重头戏【Field】,这部分的设置分为两块,第一块是初始化配置,第二部分是针对监听的字段进行设置。
在此二次开发的groovy脚本既可以使用inline scripts的方式,也可以指定一个服务器上的groovy文件
如果要指定服务器上的groovy文件,需要将这个文件放在指定的目录里。
Scripts Runner默认的为 /application-data/scripts,把groovy脚本按照包名的路径存放即可,此时就可以在配置界面上指定脚本路径,在输入脚本名字的时候,插件会自动的显示脚本路径,非常的方便。