首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >urbancode部署后脚本

urbancode部署后脚本
EN

Stack Overflow用户
提问于 2018-04-11 09:55:03
回答 1查看 1.1K关注 0票数 0

根据组件进程返回的结果,我想将(通过"switch.variable")应用程序转换为3种不同的方式。组件进程包含shell (bash)脚本,它可以返回字符串如下:

  • 一些文本DIFF一些文本
  • 一些文本NO_DIFF一些文本
  • 任何文本,最有可能是错误消息

然后,在同一个组件过程中,我希望使用post处理bash脚本的重新结果,如下所示:

代码语言:javascript
复制
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();
}

你能帮我写适当的后记吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-12 06:31:58

假设组件进程中有一个名为“shell”的Shell脚本框,如下所示:

代码语言:javascript
复制
echo 'some text: DIFF'

对于此框,您应该添加一个后处理脚本,如下所示:

代码语言:javascript
复制
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、default )绘制箭头来分支您的开关情况。默认箭头将覆盖意外情况。此外,对于Shell box失败,您可能还有其他一些逻辑。它将需要发出带有红色标志的箭头。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49771976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档