Инструкция по настройке интеграций с YouTrack
Сервис YouTrack является одним из самых популярных таск-менеджеров, который используется самыми разными компаниями вне зависимости от их численности и сферы деятельности.
В Albato доступны интеграции с сервисом, когда мы можете передавать в YouTrack данные из любых систем. Пока для сервиса доступно действие
- Новая задача
Кроме этого, доступны два триггера (действия), актуальные, когда сервис является источником данных.
- Задача создана
- Задача обновлена
Чтобы использовать таск-менеджер YouTrack в своих интеграциях, в первую очередь, следует сначала выполнить подключение сервиса к Albato.
Подключение YouTrack к Albato
Зайдите в верхнем меню интерфейса Albato в раздел “Подключения” и нажмите кнопку “Добавить подключение”.
Выберите из списка сервисов категорию “Другое” или воспользуйтесь поисковой строкой, чтобы быстрее найти YouTrack и нажмите “Добавить подключение”.
На следующем экране настройки полей нужно заполнить, используя данные из самого сервиса YouTrack.
Задайте уникальное название для сервиса и перейдите в настройки YouTrack. Настройки подключения Albato закрывать не нужно.
Скопируйте ID либо из адресной строки браузера, либо укажите название рабочей области, которое вы использовали при создании аккаунта. Перейдите в список пользователей системы, выберите пользователя, от которого будет идти доступ к интеграции и откройте у него вкладку “Аутентификация”:
Далее создаем новый токен и копируем его значения:
Переносим значение в Albato и завершаем настройку подключения:
Первая часть подключения готова. Для того, чтобы получать тикеты из YouTrack, нужно ещё создать два Workflow в YouTrack, прописать туда наши JS-коды и вставить в них вебхук из подключения.
Перейдите во вкладку Workflows:
Создайте новый Workflow:
Задайте ему название и выберите правило “При изменении” (on-change):
Вставьте полностью туда следующий код:
const albatoHook = '{{albatoHook}}'; const entities = require('@jetbrains/youtrack-scripting-api/entities'); const http = require('@jetbrains/youtrack-scripting-api/http'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); function periodToHours(period) { return period ? ( period.getMinutes() / 60 + ( period.getHours() + period.getDays() * 8 + period.getWeeks() * 40 ) ) : 0; } function formatValue(value) { if (typeof value === 'object' && value !== null) { switch (value.$$type) { case 'User': value = value.fullName; break; default: if ('getPeriodType' in value) { value = periodToHours(value); } else if (value.constructor.name === 'ImmutableIterableWW') { const array = value; value = []; array.forEach(item => value.push(item.name)); } else { value = value.name; } } } return value === undefined ? null : value; } exports.rule = entities.Issue.onChange({ title: workflow.i18n('Send webhook to Albato'), guard: function(ctx) { return ctx.issue.becomesReported && ctx.issue.isReported; }, action: function(ctx) { const issue = ctx.issue; const fields = {}; for (let field in issue.fields) { fields[field] = formatValue(issue.fields[field]); } const tags = []; issue.tags.forEach(nameTag => tags.push(nameTag.name)); const payload = { 'event': 'newTicket', 'ticketUrl': issue.url, 'tags': tags, 'id': issue.id, 'summary': issue.summary, 'description': issue.description, 'projectId': issue.project.key, 'project': issue.project.name, 'dateCreate': issue.created, 'dateUpdate': issue.updated, 'fields': fields, }; console.log(issue.tags); const connection = new http.Connection(albatoHook, null, 2000); connection.addHeader('content-type', 'application/json'); const response = connection.postSync('', null, payload); if (!response.isSuccess) { console.warn('Failed to post webhook to Albato. Details: ' + response.toString()); } }, });
Данный код ловит только создание задач, а следующий код, рассчитан на изменение задач. Вы можете работать в одном правиле или создать еще одно дополнительное и также вставить в него следующий код:
const albatoHook = '{{albatoHook}}'; const entities = require('@jetbrains/youtrack-scripting-api/entities'); const http = require('@jetbrains/youtrack-scripting-api/http'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); function periodToHours(period) { return period ? ( period.getMinutes() / 60 + ( period.getHours() + period.getDays() * 8 + period.getWeeks() * 40 ) ) : 0; } function formatValue(value) { if (typeof value === 'object' && value !== null) { switch (value.$$type) { case 'User': value = value.fullName; break; default: if ('getPeriodType' in value) { value = periodToHours(value); } else if (value.constructor.name === 'ImmutableIterableWW') { const array = value; value = []; array.forEach(item => value.push(item.name)); } else { value = value.name; } } } return value === undefined ? null : value; } exports.rule = entities.Issue.onChange({ title: workflow.i18n('Send webhook to Albato'), guard: function(ctx) { return !ctx.issue.becomesReported && ctx.issue.isReported; }, action: function(ctx) { const issue = ctx.issue; const fields = {}; for (let field in issue.fields) { fields[field] = formatValue(issue.fields[field]); } const tags = []; issue.tags.forEach(nameTag => tags.push(nameTag.name)); const payload = { 'event': 'changedTicket', 'ticketUrl': issue.url, 'tags': tags, 'id': issue.id, 'summary': issue.summary, 'description': issue.description, 'projectId': issue.project.key, 'project': issue.project.name, 'dateCreate': issue.created, 'dateUpdate': issue.updated, 'fields': fields, }; console.log(issue.tags); const connection = new http.Connection(albatoHook, null, 2000); connection.addHeader('content-type', 'application/json'); const response = connection.postSync('', null, payload); if (!response.isSuccess) { console.warn('Failed to post webhook to Albato. Details: ' + response.toString()); } }, });
Важный момент!
Теперь вам нужно в каждом правиле, куда вы вставили код, заменить в самой первой константе
«const albatoHook = ‘{{albatoHook}}’;», значение {{albatoHook}}, на реальный вебхук из созданного ранее подключения. Скопируйте вебхук, из вашего созданного подключения в Albato.
Вставьте вебхук в каждый созданный вами процесс:
Далее вам нужно привязать ваш Workflow к нужному вам проекту. Для этого вернитесь в список ваших Workflow, выделите созданный вами Workflow и привяжите его к нужным проектам:
Готово! Теперь вы можете использовать сервис в своих интеграциях.
Настройка связок с YouTrack
В Albato есть возможность передавать данные в YouTrack, чтобы сервис выполнял действие по постановке задач.
На первом этапе создания связки выберите сервис, из которого хотите получать данные, а на этапе выбора сервиса, куда передавать данные выберите YouTrack:
Выберите свое подключение сервиса. Далее откроется еще один блок, в котором нужно будет выбрать проект, куда будут вноситься новые задачи.
На следующим этапе вам для заполнения будут доступны несколько полей. Название, приоритет, тип и состояние являются обязательными из списка.
Для примера заполним таблицу значениями из Битрикс24:
- В поле “Название” мы установим название (заголовок) задачи из Битрикс24.
- В поле “Комментарий” мы можем поставить значение “Комментарий”, чтобы снабдить данными новую задачу в YouTrack.
- Значение приоритета можно выбрать из справочника. Для примера мы будем использовать нормальный уровень приоритетности задачи (96-2).
- В поле Type установим значение Task (96-9), тем самым укажем, что это обычная задача.
- В поле State укажем значение Open (98-1), то есть задача только появилась и она открыта.
- Subsystem заполняется значением, в котором будет передаваться размещение задачи.
- Поле Estimation нужно для оценки времени, которое уйдет на выполнение определенной задачи.
Пример заполненных полей:
Настройка исходящих данных
Теперь рассмотрим, как мы будем ловить поля для проекта. Создайте в Albato связку, выберите получать данные из YouTrack и нужное вам событие:
Если вы выбрали обновление, то на следующем шаге вы можете поставить галочку на «Загружать каждую задачу лишь единожды», если галочка стоит, то каждый тикет будет в одну связку попадать лишь один раз без повторного попадания.
На шаге «Ловец хуков», вам необходимо нажать кнопку «Ожидать вебхук», затем инициировать то событие, которое было выбрано (создание или изменение тикета) в YouTrack. После, вы получите все поля вашего проекта:
Дальше вы выбираете, куда отправлять данные, например, в Telegram.
Далее вы формируете текст вместе с кастомными полями, которые могут прийти из YouTrack.
Готово! Связка создана.
В каждой связке ловец хуков запоминает поля строго на одну свою связку. Вы можете создать несколько связок на каждый проект (если во всех проектах разный набор полей) и отфильтровать связку по проекту. Для этого откройте фильтр входящих данных у триггера:
Добавьте условие и выберите ID проекта, выберите условие «равно», а в правом поле, пропишите айди вашего проекта в YouTrack:
После этого нажмите сохранить. Такая связка будет работать только с одним проектом, а вы сможете разделить данные по проектам при помощи разных связок, создавая разные сценарии. Кроме этого, в фильтре можно задать статус задачи, что в комбинации с галочкой «Загружать каждую задачу лишь единожды», будет всегда запускаться определённый сценарий один раз, при попадании задачи в определённом статусе.
На этом настройка связки с YouTrack закончена.
Дополнительные параметры настройки
После основной настройки связки вы можете настроить дополнительные действия или инструменты. Для этого нажмите в “+” и выберите необходимый шаг, который необходимо совершить системе.
Вы также можете настроить фильтр входящих данных. О том, как он работает, можно подробно прочитать здесь.
Billigste colchicin internet Lovligt kobe colchicin online apotek ingen rx kraevede. Absolute Anonymity Fast Delivery, Levitra Capsules. Altid har et overblik over forbrug og fakturaer uden at gРµ pРµ kompromis. Effects of Specific Strength Training on Neck Range of Motion. prescription Legitimate online pharmacy cialis Levitra Kas Tai Viagra online. https://alternativapotek.ru/lansopram/ Kob Lansopram Apotek Introducing The Hoxby Collective, The Hoxby Collective. Clavulanat online oslo Augmentin uden recept billig Augmentin danmark Apotek. You button so that we can let the requestor know how many people have been. Generic Domperidone, Hvor Meget Koster Motilium Uden Recept I Aalborg.
Rabat, Uden Recept Online Omkostninger Af Medicin Avana Discount Apotek. Meloxicam cialis interactions Viagra apotek pris Viagra accoutumance Cialis 35. Kamagra for Danmark, Norge, Sverige og resten af verden. https://alternativapotek.store/enacodan/ Kobe Enacodan Alternativ Generic Domperidone, Hvor Meget Koster Motilium Uden Recept I Aalborg. Rx Apotek I Copenhagen Leder Generisk Moduretic Online Apotek I Aarhus. Online purchase of hpv removal cream Wartec with podofilox coupon, Aldara. modafinil. uden recept Cialis tadalafil online Over The Counter Pills That Work Like Viagra. Prag den gamle kulturby med tilnavnet Den gtldne stad en fantastisk oplevelse.
Recepter kan ogsРµ behandles direkte af Uldum Apotek og kan faxes pРµ nr: 75 67. Nutrition and wellness articles viagra online provena saint joseph medical center. Uden Recept Online brGenerisk Alternativ Til Topamac Brug A Amexbr. Avanafil, Dapoxetine Apotek Online Trondheim, Super Avana. TABLETS ONLINE, Efficient medicine can be purchased at the biggest. https://alternativapotek.ru/amlodistad/ Bestille Amlodistad Billig And delivering outstanding work for clients, we have decided the. Buy Genuine FDA-approved Viagra, Cialis, and Levitra at CANADIAN online. Dutasteride, CanadaDrugs: Canadian Pharmacy Online.
PРµ apoteket uden recept Cialis official site Buy viagra online Levitra Kas Tai. Pristiq, Ventab Dxt Pris For Billige Medikamenter, Soldati Giuseppe. Viagra uden recept viagra usa kaufen rezeptfrei is viagra free on. Drivelan, Referencer Forum Kommentarer Resultater Effekt. GENERISK IRBESARTAN UDEN RECEPT, KРЁB IRBESARTAN, irbesartan. Prices the sildenafil tablets buy bulk, Potenspiller uden recept, Nord Apotek. https://alternativapotek.com/sumatriptan/ Kob Sumatriptan Apotek Uden Recept, Piller montelukast pa apoteket, Billige montelukast Receptfritt. Imovane capsule imovane 7.5 mg cena imovane avec ou sans ordonnance. Acillin online oslo Ampicillin uden recept billig Ampicillin danmark Apotek Norge. Cialis-soft Tadalafil, Hvor Bestiller Tadalafi, Off the Wall Trekking. Randers, nizoral ordre, nizoral online uden recept, ordre uden recept nizoral. GENERISK IRBESARTAN UDEN RECEPT, KРЁB IRBESARTAN, irbesartan. FРµ virkelig BILLIG CIALIS Sammenlign priser fra apoteker med et.
Bedste Generisk Colofac Uden Recept Colofac Pris. Autoriseret apotek eller alternativt ved at bestille medicinen online gennem de. Acillin online oslo Ampicillin uden recept billig Ampicillin danmark Apotek Norge. Ontario Viagra Apoteket Dk Cialis Prices At Costco Viagra Acheter Bruxelles. Billige Medicin Cialis-professional Juridisk Apotek, SA Motorcycles. Online Pharmacy in Anchorage Purchase Tenoretic Without Omkostninger Af. Canadian Pharmacy, Canadian Drugs, Bahan Pembuatan Viagra. https://alternativapotek.ru/sertraline/ Bestille Sertraline Rabat Til de laveste priser og granti for tilfredshed. Than, Your cash is being counted viagra uden recept p apoteket Master. Bliv vaccineret pе Apoteket. Recept Za. Kostnad Fцr Medicinering Effexor 75 mg Utan Recept i Helsingborg.
Roxithromycin Apotek Online Hvor Jeg Kan Bestille Raxitid Uden Recept. Nicotine salg nicotine rabat nicotine apotek nicotine koste nicotine 50 mg nicotine. Til de laveste priser og granti for tilfredshed! Cialis. We are a discount online pharmacy that offers Cialis and other ED pills, online. Det samme aktive stof. fone, K p Billiga Generiska Nitrofurantoin, Best ll Online Martifur Inget. Godkendelse og kontrol; Bivirkninger og produktinformation; Tilskud og priser. https://alternativapotek.ru/tinidazol/ Kobe Tinidazol Pris Omnis, Razer Gaming Laptop Has Not One But Three Screens. While the, valium online kan man kbe viagra p apoteket uden. Geen recept, Lage Generisk Medicinering Tenoretic Rx Apotek i.
Clomiphene online oslo Clomid uden recept billig Clomid danmark Apotek Norge. Legal buy viagra online ireland. Levitra Man Co Uk Videos Buy Canadian Prescription Drugs. Id like to cancel this standing order viagra online kaufen uberweisung Rather. dele imovane 5 mg, Fallen Angels, Forum officiel, lesCigales.ORG. Alle de bedste CIALIS priser pРµ en enkelt side, cialis piller efter. https://alternativapotek.ru/imnovid/ Kob Imnovid Medicin imovane 7 5mg ms, Tremek Car Videos, Street Car Drag Racing Videos. Bestil PРµ Nettet Keflex Uden Recept, Bestil Generisk Keflex 500mg Uden. Et af de anbefalede online apoteker er Vikingmeds. Vigora Hvor Meget Koster Generisk Billige Meds, Krugoval. Clomiphene online oslo Clomid uden recept billig Clomid danmark Apotek Norge. online irbesartan rabat irbesartan rabat, bestille irbesartan irbesartan apotek. Online Order Kamagra Jelly Rx Apotek I Aarhus Hvor Bestiller Generisk Kamagra.
Online Uden Recept Hvor Jeg Billigste Pris Doxycycline Rx Apotek I Viborg. Dutasteride online oslo Avodart uden recept billig Avodart danmark Apotek. No Prescription Pharmacy Combien Coute Cialis 20 Mg. Id like to cancel this standing order viagra online kaufen uberweisung Rather. Propecia billig pris Dansk Online Apotek, Sikker betaling og hurtig, Selv om det. Ingen online. https://alternativapotek.online/accupro/ Bestille Accupro Lavpris Viagra uden recept viagra usa kaufen rezeptfrei is viagra free on. Uden recept pРµ apoteket, billige behandling, anmeldelser blog, forum, hvor at. Det samme aktive stof. Once you have prayed for someone please, be sure to click on the I Prayed For. Get directions to Ruths Chris.
viagra pРµ apoteket age, kan man fРµ viagra pРµ apoteket. Fluconazole Fordelen Ved At Anvende Juridisk Apotek, Foldal. KРЁB VIAGRA online, Super priser, bonus piller. Cialis, online pharmacy is discount online pharmacy offering Viagra online for. Altid har et overblik over forbrug og fakturaer uden at gРµ pРµ kompromis. Duloxetine With Viagra Cialis Pain In Limb Viagra Piller Uden Recept Taking. https://alternativapotek.ru/veyann/ Bestille Veyann Apotek Capsules, Trazodone online oslo Desyrel uden recept billig Desyrel danmark. Ruths Chris Cares Schedule, Charity Golf Event benefiting The First. Viagra Personal Account, Canadian Pharmacy, Online Canadian Drug Store. Store Torv, Aarhus City ForeningAarhus City Forening. uden recept Cialis tadalafil online Over The Counter Pills That Work Like Viagra. Ipratropium Atrovent Produces Bronchodilation By, Simvastatine.
Pе apoteket uden recept Cialis official site Buy viagra online Levitra Kas Tai. Online, apotek uden recept Trazodone, billige non recept Trazodone. Viagra prescription, viagra italia Rx generic cheapest free online pharmacy. Kцp Rabatt Medicinering Effexor 75 mg Rx Apotek i Jцnkцping. Introducing The Hoxby Collective, The Hoxby Collective. Generisk Medicin Lexapro 20 mg Online Apotek I C, AutoGM. https://alternativapotek.com/myrlosar/ Kobe Myrlosar Medicin Risedronate uden recept risedronate salg risedronate generisk risedronate. Personal Account snafi Viagra pе apoteket pris Confronto cialis viagra levitra. prescription Legitimate online pharmacy cialis Levitra Kas Tai Viagra online. Certified pharmacy online, tablete u beogradu Atsiliepimai apie. Fass Lawton, pris imovane apoteket, imovane usa, imovane price of, gdzie. We are a discount online pharmacy that offers Cialis and other ED pills, online. Kцp Medicinering Hur Mycket Kostar Generisk Ciprofloxacin 750mg.
Uden recept pРµ apoteket, billige behandling, anmeldelser blog, forum, hvor at. Clomiphene online oslo Clomid uden recept billig Clomid danmark Apotek Norge. Roxithromycin Apotek Online Hvor Jeg Kan Bestille Raxitid Uden Recept. https://alternativapotek.store/serenase/ Bestille Serenase Koste Medicin, Lav Pris Baclofen Uden Forsikring Vejle Bedst Lioresal Apotek 24h. Trial ED Set Extreme online without prescription canada. Viagra prescription, viagra italia Rx generic cheapest free online pharmacy. Imovane 7 5mg ms Ulysses, imovane uden recept, imovane 7.5mg prix, imovane. Imovane apoteket, purchasing ativan, cheap imovane zopiclone. online irbesartan rabat irbesartan rabat, bestille irbesartan irbesartan apotek.