Groovy список сценариев содержит строковое значение - PullRequest
0 голосов
/ 08 января 2019

У меня есть скрипт 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'). содержит (depManager)) всегда возвращает false

Не могли бы вы помочь?

1 Ответ

0 голосов
/ 08 января 2019

, чтобы упростить ваш вопрос: как найти строковое значение в списке, игнорируя регистр.

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"
}
...