我想根据组件流程返回的结果,以3种不同的方式切换(通过“switch.variable”)应用程序进程。组件进程包含shell(bash)脚本,该脚本可以返回字符串,如下所示:
然后在同一个组件进程中,我想使用post-script处理bash脚本的重新结果,如下所示:
if (properties.get("exitCode") != 0) {
properties.put('Status', 'Failure');
properties.remove("switch.variable")
commandOut.println("Error")
} else {
properties.put('Status', 'Success');
scanner.register("any text", function (lineNumber, line) {
if (line.contains("DIFF")) {
properties.put("switch.variable", "DIFF")
} else if (line.contains("NO_DIFF")) {
properties.put("switch.variable", "NO_DIFF")
}
commandOut.println(properties.get("switch.variable"));
});
scanner.scan();
}
你能帮我写一些合适的后期剧本吗?
答案 0 :(得分:0)
考虑在组件流程中有一个名为“Shell”的shell脚本框,如下所示:
echo 'some text: DIFF'
对于此框,您应该添加如下所示的后处理脚本:
if( properties.get("exitCode") != 0 ){
properties.put('Status', 'Failure');
}
else {
properties.put('Status', 'Success');
var regex = "some text";
scanner.register(regex, function(lineNumber,line){
var foo = line.substring(line.lastIndexOf(':')+1).trim();
// The ':' is the symbol after which the payload value starts.
properties.put("Lorem", foo );
});
scanner.scan();
然后在名为“Shell”的shell脚本框之后放置一个“switch”框。
在该开关的属性名称中,放置Shell\Lorem
。
从此处,您可以通过绘制所需值的箭头来分支您的开关案例,例如DIFF,NO_DIFF,默认值。 默认箭头将涵盖意外情况。 此外,您可能还有另一个Shell shell故障的逻辑。它需要带红色标记的外出箭头。