Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Get array's elements in SIL

Borlas Team August 1, 2019

This is my code: (NOTE - customfield_11510 is DATE CUSTOMFIELD)

string jql_ini = "key = INI-158";
string[] iss_jql_ini = selectIssues(jql_ini);

string jql1 = "issuetype in (Epic, Project) and issue in linkedIssues(" + "\"" + iss_jql_ini + "\")";
string[] iss_jql1 = selectIssues(jql1);

string[] all_date;

string[] maxValue;

for(string is in iss_jql1){
    if(arraySize(iss_jql1) >= 1){
    all_date = {%is%.customfield_11510};

    for(number i = 0; i < arraySize(all_date); i = i + 1){
        if(all_date[i] > maxValue){
        maxValue = all_date[i];
        }
    }

    return maxValue;
    }
}

 

Why my script return nothing but not maxValue?

2 answers

1 vote
Roman Kersky
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 1, 2019

HI. Inside the loop you compare text, not dates.

I would do it using --- order by in JQL

string jql_ini = "key = INI-158";
string[] iss_jql_ini = selectIssues(jql_ini);

string [] mas = selectIssues("issuetype in (Epic, Project) and issue in linkedIssues(" + "\"" + iss_jql_ini + "\") and cf[11510] is not EMPTY ORDER BY cf[11510] DESC");

date maxValue;

if(arraySize(mas)> 0)
maxValue = mas[0].customfield_11510;

return maxValue;
0 votes
Borlas Team August 2, 2019

Привет, Роман.

Я понял, почему тут максимальному значению приходится первый элемент в массиве выборки. Т.к. мы изначально в JQL упорядочили по мере уменьшения.

Но, тем не менее, maxValue ничего не вывело. Ни return, ни runnerLog не выводят результат на экран.

 

Как думаешь, в чем может быть проблема?

Roman Kersky
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 2, 2019

Привет, 

я подозреваю, что в этот иф не заходит 

if(all_date[i] > maxValue){

all_date - стринг и maxValue - стринг 

нужно даты сравнивать поменяй типы на даты 


Borlas Team August 2, 2019

Я имел ввиду, что, используя твой код (копируя его) все равно скрипт ничего не возвращает.

Roman Kersky
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 2, 2019

Посмотри, что выводится. Может Массив пусотой ...


 

string jql_ini = "key = INI-158";
string[] iss_jql_ini = selectIssues(jql_ini);
date maxValue;


string [] mas = selectIssues("issuetype in (Epic, Project) and issue in linkedIssues(" + "\"" + iss_jql_ini + "\") and cf[11510] is not EMPTY ORDER BY cf[11510] DESC");

runnerLog(mas);
runnerLog(arraySize(mas));


if(arraySize(mas)> 0)
maxValue = mas[0].customfield_11510;

runnerLog(maxValue);
Borlas Team August 2, 2019

Именно. Ошибся в id поля.

Borlas Team August 2, 2019

Роман, благодарю. Очень выручил. Надо бы почаще упорядочивание по JQL элементов использовать, чтобы напрямую выбирать самый большой элемент по выборке.

Roman Kersky
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 2, 2019

@Borlas Team  проголосуй за решение плиз =) а то я в чемпионы рвусь ахаха)

Borlas Team August 2, 2019

Как происходит голосование?

Если честно, этот вопрос был только небольшим элементом решения. Но все равно за фишку про 1-й элемент массива в выборке JQL-запроса с order by DESC спасибо.

Suggest an answer

Log in or Sign up to answer