Advertisement

ChatOps:利用正则表达式进行分组以提取所需信息

阅读量:

前言

在之前进行Jenkins开发的过程中,采用了一种极为基础的方式,即通过空格分隔来判断消息所要执行的具体功能,这种方式确实显得过于简陋。

  • 示例:
复制代码
    list beijing 1 10 a
    动作 执行对象 页码 size 检索关键字
    
    
      
      
    

第一个列表所包含的操作是必不可少的,而后续出现的beijing、1、10、a等内容则无需保留。
参考此前的代码实现方式(当前版本尚未具备翻页功能,若需添加该功能,可能还需编写数十行代码):

复制代码
    text := strings.Split(m.Content, " ")
    lastWord := text[len(text)-1]
    jenkinsName,jenkinsAction,jenkinsProject:="","",lastWord
    // 判断是否选择地域,默认的话可以不写jenkins名称,会走一个default,比如build jenkins_project 会走一个
    if len(text)==3 {
    	jenkinsName,jenkinsAction,jenkinsProject = text[0],text[1],text[2]
    } else if 

全部评论 (0)

还没有任何评论哟~