Інтеграція з трекінг-системою дозволяє завантажувати в ITFin задачі по проєктах та дані про трекінг годин (ворклоги) працівників.

За потреби можна під'єднати декілька Джерел трекінгу (наприклад, якщо клієнт надав вам свій Jira-акаунт для трекінгу розробників, а внутрішні операційні задачі звітуються та відстежуються за допомогою власного Jira-акаунту).

Перед тим як підключати інтеграцію, спочатку обов'язково мають бути створені необхідні проєкти та додані домовленості працівникам, в інакшому випадку години будуть підтягуватись без асоціації з юзером в ITFin. Це можна буде виправити після підключення інтеграції.Синхронізація даних відбувається щодня автоматично за останні 2 тижні, і якщо додати асоціацію пізніше, ніж підключення самої інтеграції, частина трекінгу може не потрапити до системи без ручного запуску синхронізації.

Підключення Джерела (трекінг-системи):

Крок 1. 
Створити в Джерелі користувача, який має необхідні доступи до проєктів (browse projects), списку користувачів (browse users) і даних, або обрати хто це буде з наявних користувачів.

Крок 2.
В ITFin в розділі Проєкти > Інтеграції створити нове Джерело.

При натисканні на +Додати інтеграцію система відкриває окрему панель, де слід обрати вашу трекінг-систему з якою будуть налаштовуватися інтеграції:

Розглянемо на прикладі Jira:

Поля URL, Email та API ключ - це саме ті ідентифікатори, за якими буде налаштовано обмін даними по API між ITFin та Джерелом.

В залежності від провайдера ці поля можуть дещо відрізнятися.

Часовий пояс - дозволяє на рівні ITFin змінити як буде визначатися дата ворклогів, оскільки працівники можуть звітувати години з різних країн і в залежності від того в якому часовому поясі "дивитися" на ворклоги це можуть бути різні дні. Якщо нічого не вказувати будуть застосовуватися налаштування сервера по провайдеру (радимо нічого не вказувати, якщо ви чітко не впевнені який саме пояс має бути).

Створювати залучення для працівника автоматично - якщо увімкнути цю опцію то ITFin буде автоматично створювати алокацію працівникам якщо по інтеграції отримає їх ворклоги на конкретні проєкти (радимо не використовувати цю опцію при великій кількості проєктів та працівників, бо при використанні опції вам все одно буде потрібно додавати окремо рейти по алокаціям і є ризик що будуть створені алокації не тими періодами, які вам потрібні). 

Завантажувати неоплачувані години як оплачувані - опція дозволяє на рівні ITFin перезаписати всі ворклоги які джерело передасть як неоплачувані, оплачуваними в трекінг-звіти. Слід використовувати тільки в крайніх випадках.

Опція фільтрації задач за назвою компонента є специфічним випадком, використовувати слід тільки якщо у вас є поділ в Джерелі на компоненти і потрібно буде налаштовувати інтеграцію типу не Проєкт в Джерелі = Проєкт в ITFin, а Компонент в Джерелі = Проєкт в ITFin.


Налаштування інтеграції

Відразу після додавання Джерела вам буде запропоновано налаштувати першу інтеграцію:

При додаванні нової інтеграції ми бачимо Джерело на яке ми додаємо інтеграцію.

Зовнішній проєкт - поле для вибору проєкту з Джерела, з якого ми будемо підвантажувати задачі та ворклоги.

Початок - дата старту завантаження даних по інтеграції.
Кінець - дата завершення завантаження даних по інтеграції. Поле можна лишити пустим.

Проєкт - поле вибору проєкту в ITFin, в який будуть записуватися дані з Зовнішнього проєкту.

Додавання наступних інтеграцій

Щоб додати решту інтеграцій в межах підключеного Джерела натискаємо кнопку +Додати інтеграцію та обираємо вже підключене Джерело:

Як часто оновлюються дані?

  • в момент додавання нового Джерела ми одноразово синхронізуємо всі задачі та всі години від дати старту, яку ви вказали. В залежності від кількості даних це може зайняти від кількох хвилин до години;
  • надалі кожну годину запускається автоматичний процес синхронізації, при цьому ми оновлюємо дані за 2 останні тижні. Якщо у вас відбуваються зміни в давнішому періоді - слід запускати ручну синхронізацію за відповідний місяць.

Кнопка Синхронізувати зараз виконує примусову синхронізацію в межах інтеграцій по всьому Джерелу за вибраний період.

Після натискання кнопки Синхронізувати зараз запускається примусова синхронізація та кнопка деактивується на деякий час, щоб уникнути перевантаження системи зайвими діями.

Як працює синхронізація worklogs із Jira?

Синхронізація worklogs між Jira та ITFin відбувається у два окремі етапи. Важливо розуміти різницю між ними, оскільки наявність worklog у Jira ще не означає, що він уже буде зарахований як фактично відпрацьований час в ITFin.

Етап 1. Завантаження worklogs із Jira

На першому етапі ITFin отримує worklogs із Jira та зберігає їх у внутрішній таблиці логів інтеграції.

На цьому етапі:

• worklogs успішно імпортуються із Jira;

• записи доступні в Source Export;

• години ще не зараховуються до Actual/Credited Hours.

Важливо: якщо worklog відображається в Source Export, це означає лише те, що ITFin успішно отримав його з Jira. Це не підтверджує, що години вже були зараховані.

Етап 2. Перевірка та зарахування годин

Після завантаження ITFin виконує обробку кожного worklog та проводить низку перевірок перед його зарахуванням.

Під час цього етапу система перевіряє:

• чи доступне працівнику звітування за відповідну дату;

• чи існують відкриті дозволи на внесення часу;

• чи не був worklog уже зарахований раніше;

• чи не переносилася Jira-задача між проєктами;

• чи не був worklog змінений або видалений у Jira;

• до якого працівника, проєкту та алокації необхідно зарахувати години.

Лише після успішного проходження всіх перевірок години потрапляють до Actual Hours та Credited Hours.

Автоматична повторна обробка worklogs

Другий етап синхронізації створює значне навантаження на систему, оскільки потребує виконання великої кількості перевірок для кожного worklog.

З цієї причини автоматична повторна обробка виконується лише для останніх двох тижнів.

Це означає, що:

• якщо worklog було створено або відредаговано для дати, яка входить до останніх двох тижнів, він буде автоматично повторно перевірений та, за потреби, зарахований;

• якщо worklog створено пізніше, але дата виконання роботи старша за два тижні, він буде завантажений із Jira, однак автоматична повторна обробка для нього не запускатиметься.

У такому випадку:

• запис буде присутній у Source Export;

• але він не з’явиться в Actual Hours або Credited Hours, доки не буде виконана ручна синхронізація за відповідний період.

Приклад

Припустимо:

• 1 липня користувач створив worklogs;

• дата виконання роботи — 1, 8 та 10 червня.

У цьому випадку:

1. ITFin успішно завантажить ці worklogs із Jira.

2. Записи будуть відображатися в Source Export.

3. Оскільки дати роботи старші за два тижні, вони не потраплять до автоматичної повторної обробки.

4. Відповідно, години не будуть зараховані до Actual Hours та Credited Hours.

Після запуску ручної синхронізації за розширений період система примусово повторно обробить ці дати, виконає всі необхідні перевірки та коректно зарахує години.

Якщо worklog було створено із запізненням для дати, старшої за два тижні, така поведінка є очікуваною та відповідає логіці роботи інтеграції.

Як ITFin ідентифікує користувачів 

Для ідентифікації співробітника між Джерелом та ITFin система використовує два параметри:

• Ім’я користувача

• Email

Якщо імена користувачів у Джерелі та ITFin будуть відрізнятися і система не зможе їх розпізнати то на рівні джерела буде список Невідомих системі користувачів і потрібно буде асоціювати користувачів .

Асоціація спрацює на рівні всіх інтеграцій доданих по Джерелу.

Як слідкувати за інтеграціями

В переліку інтеграцій можна фільтрувати по періоду, джерелу та статусу.

По кожному проєкту можна натиснути та побачити окрему панель з детальною інформацією щодо синхронізації годин. Відразу можна побачити скільки годин ми отримали з трекінг-системи (скільки передає їх API) та скільки записано в ITFin (або не записано якщо немає алокації, не ідентифіковано працівника тощо).

Працівник у інтеграції
Ім'я користувача в трекінг-системі
Години
Загальна кількість годин, отримана ITFin із трекінг-системи за обраний період
Години в системі
Години, успішно додані до проєкту: система зарахувала їх у звіти за трекінгом працівника/проєкту
Різниця
Різниця між годинами в системі ITFin та трекінг-системі (часто спершу туди потрапляють всі години, які згодом розподіляються між проєктами та задачами)
Видалений час
Години, які були знайдені, але видалені в трекінг-системі: вони не враховуються у звітах ITFin за трекінгом працівника/проєкту. Ми відображаємо цю інформацію, щоб можна було встановити причину відсутності цих годин у трекінгу

Як вимкнути інтеграцію

Щоб вимкнути інтеграцію, відкрийте список усіх інтеграцій — у ньому відображається їхній поточний статус, зокрема Active.

Далі натисніть кнопку Edit біля потрібної інтеграції. Після цього відкриється модальне вікно з налаштуваннями інтеграції, де доступний перемикач Integration Status.

Якщо перемикач увімкнений, інтеграція є активною. Щоб деактивувати її, вимкніть цей тумблер. Після цього поле End Date стане обов’язковим для заповнення.

Зверніть увагу
Перевести інтеграцію в статус Inactive без зазначення End Date неможливо.

Ви можете вказати End Date як на поточну, так і на майбутню дату. Наприклад, якщо потрібно, щоб інтеграція залишалась активною ще певний час і стала неактивною з 1 січня, достатньо встановити відповідну дату завершення.

Перевірка перетину дат

Ми оновили логіку роботи з інтеграційними проєктами, щоб уникнути перетинів у їхніх періодах.

Тепер при збереженні проєкту система автоматично перевіряє, чи не накладається його період на інші проєкти, пов’язані з тим самим зовнішнім або внутрішнім проєктом.

Якщо такі перетини є, проєкт не буде збережено. Замість цього система покаже список проєктів, з якими виникає конфлікт, щоб ви могли одразу це виправити.

Після цього ви можете відредагувати дати:

  • основного проєкту
  • та всіх конфліктних проєктів

і зберегти їх разом.

Важливо:

  • система перевіряє, щоб періоди не перетинались взагалі — навіть якщо одна дата закінчується в той самий день, коли починається інша, це вважається конфліктом
  • також враховуються проєкти без кінцевої дати

Якщо після змін конфлікти залишаються, система повідомить про це і підкаже, що потрібно виправити.

Коли всі періоди вказані коректно:

  • зміни застосовуються одразу до всіх проєктів
  • або не застосовуються зовсім, якщо є помилки

Також система додатково перевіряє, чи не з’явились нові конфлікти з іншими проєктами під час редагування. Якщо так — ви отримаєте оновлений список і зможете їх виправити.

У разі помилок система завжди показує зрозуміле повідомлення, щоб було легко зрозуміти, що саме потрібно змінити.

Перевірка унікальності інтеграцій

Система автоматично перевіряє, щоб одна й та сама інтеграція не була підключена двічі.

Якщо той самий зовнішній проєкт (наприклад, з Jira) вже підключений до конкретного проєкту в системі, повторне підключення буде заблоковано — незалежно від того, хто саме це робить.

Тобто:

  • інший користувач не зможе підключити той самий зовнішній проєкт до того ж проєкту
  • той самий користувач також не зможе підключити його вдруге

У таких випадках система покаже повідомлення про дублікати, а інтеграція не буде створена.

При цьому є кілька важливих нюансів:

  • Один і той самий зовнішній проєкт можна підключити до різних внутрішніх проєктів - це дозволено ✅
  • Якщо інтеграцію було деактивовано (завершено), її можна підключити повторно
  • Редагування існуючої інтеграції (наприклад, зміна API-ключа або email) не свторює дублікат і працює як звичайне оновлення

Таким чином система гарантує, що:

  • не буде дублювання інтеграцій
  • збережеться коректна прив’язка між зовнішніми та внутрішніми проєктами

Останній раз змінено