понедельник, 1 декабря 2014 г.

JIRA. Обратный отсчет — до релиза осталось...

Мы попробовали у себя на работе подключить JIRA Agile, но как-то не пошла идея... Из всех возможностей мы использовали в итоге только календарик Greenhopper Days Remaining.



Платить много денег за один лишь календарик смысла не имеет, сидеть на триальной версии тоже...

Но без календарика грустно! 
Поэтому мы создали свой (smile)


Он даже умнее! Greenhopper писал большую красную 0, когда время истекало, а наш плагин ищет последнюю незакрытую версию и показывает, на сколько дней мы просрочили выпуск (минус один, минус два и т.д.)

Подключение календарика


1. Создать портлет типа Text



2В поле "Заголовок" написать "До релиза осталось".
3. В поле HTML вставить

<html>
<style>
h1 { background-color: #e0f0ff;
     color: forestgreen;
     text-align: center; 
     font-size: 15em;
     font-weight: normal;
}
</style>
<body>
<h1 id="toRelease" />
<script language="javascript" type="text/javascript">
var minDate = new Date("2099-01-01");
var today = new Date();
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://jira.hflabs.ru/rest/api/2/project/YourName/versions/", false);
xhr.send();
var versions = JSON.parse(xhr.responseText);
for (i = 0; i < versions.length; ++i) {
    if (new Date(versions[i].releaseDate) < minDate && versions[i].released === false ) {
      minDate = new Date(versions[i].releaseDate);
    }
}
diff = Math.ceil((minDate - today) / (24 * 60 * 60 * 1000));
if (diff < 0) {    
    for (i = diff; i < 0; ++i) {
        date = new Date();
        date.setDate(today.getDate() + i);
        if (date.getDay() === 0 || date.getDay() === 6) {
            diff = diff + 1;
        }
    }     
    diff = diff.toString().fontcolor("firebrick");
}
else {
    for (i = 0; i < diff; ++i) {
        date = new Date();
        date.setDate(today.getDate() + i);
        if (date.getDay() === 0 || date.getDay() === 6) {
            diff = diff - 1;
        }
    }
}
document.getElementById("toRelease").innerHTML = diff;
</script>
</body>
</html>

4. Заменить во фразе "project/YourName/versions/" YourName на название своего проекта.

5. Сохранить и наслаждаться! (smile)

PS - календарик писался на коленке во внерабочее время. Так что код не идеален, но работает же! =)

2 комментария:

  1. на гитхаб может выложишь код? глядишь, кто-нибудь и доведёт его до идеала ;)

    ОтветитьУдалить
    Ответы
    1. Оно уже там — https://github.com/shaddyk/jira_timetorelease

      Удалить