【问题标题】:groovy script list contains string valuegroovy 脚本列表包含字符串值
【发布时间】:2019-01-08 08:50:32
【问题描述】:

我有一个 groovy 脚本,它检查屏幕上的值列表中的字段值(如果存在)。

import com.atlassian.jira.component.ComponentAccessor;
import org.apache.log4j.Logger
import org.apache.log4j.Level
import com.atlassian.jira.user.ApplicationUser;
import java.lang.Object

def groupManager = ComponentAccessor.getGroupManager();
def customFieldManager = ComponentAccessor.getCustomFieldManager();
def eManagerCF = customFieldManager.getCustomFieldObjectByName("Ek Manager")
def dedManagerCF = customFieldManager.getCustomFieldObjectByName("Ded Manager")
def depManagerCF = customFieldManager.getCustomFieldObjectByName("Dep Manager ")

String eManager = issue.getCustomFieldValue(eManagerCF)
String dedManager = issue.getCustomFieldValue(dedManagerCF)
String depManager = issue.getCustomFieldValue(depManagerCF)

if (eManager) {
 eManager = eManager.trim()
}

if (dedManager) {
 dedManager = dedManager.trim()
}

if (depManager) {
 depManager = depManager.trim()
}

cfValues['2. Onay'] ? .value == null && cfValues['1.Adim '] ? .value != "Helpdesk" && cfValues['1. Onay '] ? .value == "Ilgili Yönetici " &&
 (!groupManager.getUsersInGroup('ITSM Onaya Gitmeyecek Personeller ').contains(eManager) ||
  !groupManager.getUserNamesInGroup('ITSM Onaya Gitmeyecek Personeller ').contains(dedManager) ||
  !groupManager.getUsersInGroup('ITSM Onaya Gitmeyecek Personeller ').contains(depManager))

所以我的问题是: 字符串 dedManager=issue.getCustomFieldValue(dedManagerCF) 返回 aaa.bbb@xx.com

groupManager.getUsersInGroup('ITSM Onaya Gitmeyecek Personeller) 返回用户名列表,如 Aaa.Bbb@xx.com

所以方法 groupManager.getUsersInGroup('ITSM Onaya Gitmeyecek Personeller').contains(depManager)) 总是返回 false

你能帮忙吗?

【问题讨论】:

    标签: string groovy compare jira


    【解决方案1】:

    为了简化您的问题:如何在忽略大小写的列表中查找字符串值。

    def str = 'Aaa.Bbb@xx.com'
    def list = ['xxx.yyy@zz.com','aaa.bbb@xx.com']
    
    if( list.find{e-> e.equalsIgnoreCase(str)} ){
        println "found"
    }
    

    或者如果您确定该列表始终包含小写项目,只需将字符串转换为小写,然后再应用 contains

    def str = 'Aaa.Bbb@xx.com'
    def list = ['xxx.yyy@zz.com','aaa.bbb@xx.com']
    
    str = str.toLowerCase()
    if( str in list ){
        println "found"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2019-07-19
      相关资源
      最近更新 更多