Показаны сообщения с ярлыком регулярные выражения. Показать все сообщения
Показаны сообщения с ярлыком регулярные выражения. Показать все сообщения

пятница, 15 февраля 2019 г.

JiraSD: поиск подстроки в поле, для которого не работает тильда

Для некоторых полей не поддерживается оператор тильда "~" (CONTAINS), выражается это в появлении сообщения при попытке выполнения JQL:
Оператор '~' не поддерживается 'Бюджет проекта ПУ' полем.
или
The operator '~' is not supported by the 'Бюджет проекта ПУ' field.

Решение:
Пример поиска подстроки "Сопр" (с игнорированием регистра букв) в поле, которое не поддерживает оператор тильда "~" (CONTAINS):
issueFunction in issueFieldMatch("project = FIN AND issuetype in (Доработка) AND statusCategory != Done AND status not in (Сделан) AND \"Бюджет проекта ПУ\" is not null and statusCategory != Done", "Бюджет проекта ПУ", "(?i)Сопр")

Примечание:
возможно, для таких полей можно включить поддержку оператора тильда "~" (CONTAINS) - уверен, выяснится со временем, "сейчас для этого нет ресурса".

четверг, 14 февраля 2019 г.

JiraSD: регулярные выражения

Поставлена такая задача:
отфильтровать записи в JiraSD, у которых в текстовом поле (к которому допустимо применять оператор "~") стоит одно значение "+" из трёх допустимых ("+", "-" или "null" (когда поле не задано)).

Найденное решение:
регулярные выражения и функция, которая позволяет их применять:
issueFieldMatch(subQuery, fieldname, regexp)

где, fieldname = "Зафиксирован срок выдачи".

Но эта функция очень ресурсозатратная, чем меньше количество записей, которое возвращает подзапрос "subQuery", тем быстрее отрабатывает весь JQL-запрос.
issueFunction in issueFieldMatch("project = FIN AND issuetype in (Доработка) AND statusCategory != Done AND status not in (Сделан)", "Зафиксирован срок выдачи", "^\\u002b$")

Самым быстрым вариантом оказался с проверкой наличия поля (is not null):
issueFunction in issueFieldMatch("project = FIN AND issuetype in (Доработка) AND statusCategory != Done AND status not in (Сделан) AND \"Зафиксирован срок выдачи\" is not null", "Зафиксирован срок выдачи", "^\\u002b$")

Примечание:
"быстрым" его можно назвать, лишь, относительно: 850 записей он обрабатывает за ~3,5 секунды :-(

Архив