JQL 쿼리로 어려움을 겪고 있습니다.JQL 성능 - 사용자 정의 텍스트 필드에 대한 자연 정렬
우리는 텍스트 필드 인 'Build Reported'라는 사용자 정의 필드를 가지고 있습니다. '4.7.323H', '5.1.123L', '3.1.456E'등과 같은 값이 있습니다.
사용자 지정 버전 이후에보고 된 모든 문제를 알려주는 간단한 쿼리를 작성해야합니다.
JQL 기능 프로토 타입 : searchIssues ('통합 구축', '>', '4.7.323B')
이렇게하려면, 내가 나에게 모든 문제를보고 빌드를 제공하는 JQL 질의를 발사하고, 그런 다음 각 이슈를 반복하고 char-by-char 비교를 수행하여 현재 이슈의 빌드보고 버전이 사용자가 지정한 버전보다 큰지 여부를 확인합니다. jira 데이터베이스에서 모든 문제를 검색해야하므로 실행하는 데 너무 오래 걸리는 것으로 보입니다.
더 빠른 방법이 있나요? 여기에 지금까지 무엇을 가지고 :
// Get all the arguments
java.util.List args = operand.getArgs();
CustomField cf = customFieldManager.getCustomFieldObjectByName((String)args.get(0));
Long cfID = cf.getIdAsLong();
String operator = (String)args.get(1);
String userVersion = (String)args.get(2);
String jiraVersion = "";
java.util.List issues;
Iterator issuesIterator;
Issue issue;
issues = getAllIssues(user, interestedInVersion, cfID);
issuesIterator = issues.iterator();
// Iterate over all the issues
while(issuesIterator.hasNext())
{
issue = (Issue)issuesIterator.next();
// Get the Build reported value
jiraVersion = (String)issue.getCustomFieldValue(cf);
if(jiraVersion != null &&
!jiraVersion.equals(""))
{
// Compare user-specified version to the one retrieved from database
if(compareVersions(jiraVersion, userVersion, operator))
{
// Add the issue to the result set
literals.add(new QueryLiteral(operand, issue.getId()));
}
}
}
// cfID is the ID for the custom field Build Reported
private java.util.List getAllIssues(User user, Long cfID) throws SearchException, ParseException
{
JqlQueryBuilder builder = JqlQueryBuilder.newBuilder();
builder.where().project("SDEV").and().customField(cfID).isNotEmpty();
Query query = builder.buildQuery();
SearchResults results = searchService.search(user, query, PagerFilter.getUnlimitedFilter());
return results.getIssues();
}
내가 나를 결과 집합의 크기를 줄이는 데 도움이되는 JQL 쿼리 빌더에 사용할 수있는 다른 필터를 가지고 있지 않음을 유의하시기 바랍니다.
누구를? 부디. –
내가 생각할 수있는 유일한 다른 접근법은 ~ 연산자를 지원하고 BuildIntegrated ~ "3.4 *"또는 BuildIntegrated ~ "4. *"와 같은 쿼리를 수행하는 사용자 검색기를 만드는 것입니다. 그래도 좋은 해결책이 아닙니다. – mdoar
전에 맞춤 검색을 해본 적이 없어요. 좀 읽어보고 효율적으로 사용할 수 있는지 알아 봅시다. 감사. –