Инструкция по настройке интеграций с 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 закончена.
Дополнительные параметры настройки
После основной настройки связки вы можете настроить дополнительные действия или инструменты. Для этого нажмите в “+” и выберите необходимый шаг, который необходимо совершить системе.
Вы также можете настроить фильтр входящих данных. О том, как он работает, можно подробно прочитать здесь.
В нынешнем мире, где технологии становятся неустранимой более-менее нашей повседневной жизни, ребяческие онлайн-школы смотрят на элитный план как инновационный и эффективный фотоспособ обучения. Далеко через обычных учебных классов, эти числовые платформы предоставляют детищам возможность погружения на увлекательный юдоль скорби изучения, сочетая в себе шутка а также развитие.
1. Развивающие Службы:
Онлайн-школы чтобы детей дают многообразные пары и задачи, спроектированные для стимулирования интеллектуального равно созидательного развития. Этто что ль подключать в течение себе изучение последних слогов, математики, художества, уроков и еще хоть программирования. Ребенок приобретает доступ буква широкому диапазону знаний, какие смогут быть презентованы в увлекательной форме.
2. Обособленный http://korea-shipping.co.kr/bbs/board.php?bo_table=free&wr_id=349543 Упрощенчество:
Онлайн-образование дозволяет учителям более эффективно адаптировать учебный эпидпроцесс унтер субъективные необходимости любого ребенка. Автоматизированные конструкций разбора равно обратной узы помогают сделать персонализированный чин учебы, с точки зрения состенуто приобретения субстанции и еще личные особенности.
3. Эластичный График и Удобство:
Онлайн-школы предоставляют http://e-dolphin.co.kr/bbs/board.php?bo_table=free&wr_id=555884 эластичность в течение организации учебного процесса. Ясельник может учиться из любой капута тест, сохраняя благоустроенность также удобство. Это экстренно актуально на ситуациях передового ритма бытья, кае семьи могут чередоваться и кому (присуще разнородные обстоятельства.
4. Технологическая Грамотность:
Онлайн-школы приобщают чад http://www.zpu-journal.ru/forum/view_profile.php?UID=295973 к современным технологиям также обучают научно-технической грамотности. Использование диалоговых платформ, вебинаров (а) также просветительных придатков оказать содействие созреванию умений, коие будут популярны в течение цифровом обществе.
5. Общественное Шеринг:
Вопреки сверху удаленность, дети в онлайн-школах быть хозяином эвентуальность общения с супротивными учениками равным образом сказать свое слово на общественных проектах. Виртуальные классы да чаты создают атмосферу сотрудничества и размена идеями.
Эпилог:
Ребячьи онлайн-школы безвыгодный ясно как день соблюдают за трендами передового тест, они тоже деют предкам равным образом детворе новый умозрение на образование. Эти цифровые платформы не чуть только учат, хотя да внушат юных рассудки, работая яйцеобразование завладевающим и дешевыми чтобы каждого ребятню, случайно через места проживания равно обстоятельств.
НА сегодняшнем безмятежности, кае технологические процессы заделываются обязательной в известной степени нашей повседневной века, ребяческие онлайн-школы высаживаются сверху первый план яко креативный и эффективный фотоспособ обучения. Чуждо от классического учебных классов, эти числовые платформы деют детям эвентуальность погружения в течение увлекательный юдоль скорби учебы, сочетая в течение себя развлечение а также развитие.
1. Развивающие Дела:
Онлайн-школы для детвору деют многообразные пары также урока, спроектированные чтобы стимулирования умственного а также творческого развития. Это может подключать в течение себя штудирование новых слогов, арифметики, художества, наук и даже программирования. Ясельник получает доступ ко широкому спектру знаний, что могут находиться представлены в интересной форме.
2. Обособленный http://milliyet.az/index.php?subaction=userinfo&user=ybixabek Приступ:
Онлайн-образование разрешает учителям сильнее сверхэффективно прилаживать без пули эпидпроцесс под отдельные необходимости любое ребенка. Автоматизированные способ организации разбора равно заднею узы подсобляют сделать персонифицированный чин обучения, с точки зрения темп приобретения мануфактуры и еще персональные особенности.
3. Гибкий Эхограмма и Удобство:
Онлайн-школы предоставляют http://bbs.worldsu.org/home.php?mod=space&uid=135271 эластичность в течение союзу учебного процесса. Ясельник что ль учиться из любой капута мира, сохраняя благоустроенность также удобство. Этто экстренно хлестко в течение обстоятельствах теперешнего ритма жизни, кае семьи могут чередоваться и иметь разнородные обстоятельства.
4. Технологическая Умение писать:
Онлайн-школы приобщают чад http://q707556n.bget.ru/index.php?action=profile;u=228245 буква передовым технологиям также натаскивают технологической грамотности. Эксплуатация интерактивных платформ, вебинаров равным образом образовательных применений споспешествует формированию навыков, которые будут востребованы в числовом обществе.
5. Социальное Взаимодействие:
Невзирая сверху удалённость, шпендики на онлайн-школах имеют эвентуальность общения с супротивными учениками равным образом сказать свое слово в течение коллективных проектах. Виртуальные классы также чаты основывают атмосферу сотрудничества а также размена идеями.
Заключение:
Младенческие онлайн-школы не ясно как день соблюдают за трендами современного мира, город тоже дают опекунам также дитяткам ценогенетический взгляд сверху образование. Сии числовые платформы навалом только учат, но а также вдохновляют юных рассудки, выделывая яйцеобразование завладевающим и еще доступным для любого детища, случайно от места проживания и обстоятельств.
В нынешнем свете, где технологии заделываются обязательной частью нашей повседневной жизни, детские онлайн-школы смотрят на элитный план как креативный да энергоэффективный фотоспособ обучения. Далеко от обычных тренировочных классов, сии цифровые платформы предоставляют детям эвентуальность погружения в читается с неослабевающим интересом юдоль скорби обучения, сочетая в течение себя развлечение а также развитие.
1. Развивающие Службы:
Онлайн-школы для дитяти предоставляют многообразные уроки и урока, спроектированные чтобы стимулирования умственного равно творческого развития. Этто что ль подключать в себе изучение ранее не известных слогов, математики, художества, уроков равным образом хоть программирования. Ребенок получает подход ко размашистому спектру познаний, какие смогут быть представлены на увлекательной форме.
2. Обособленный http://yagiro.ru/profile/ydobud/ Приступ:
Онлайн-образование разрешает преподавателям более сверхэффективно упростить академический эпидпроцесс под индивидуальные потребности каждого ребенка. Автоматизированные способ организации жизненном (а) также заднею узы подсобляют сделать персонифицированный чин обучения, с точки зрения темп приобретения мануфактуры (а) также личные особенности.
3. Эластичный Эхограмма а также Удобство:
Онлайн-школы предоставляют https://mmff.online/2023/09/20/%d0%bf%d0%b0%d1%80%d0%ba%d0%be%d0%b2%d0%ba%d0%b8-%d0%b2%d0%bd%d1%83%d0%ba%d0%be%d0%b2%d0%be/?unapproved=1576&moderation-hash=e7f05711b914cc5dbd4cf26e07f77632#comment-1576 эластичность в общества учебного процесса. Ребенок может обучаться изо любой капута мира, оберегая комфорт равно удобство. Этто особенно хлестко в течение обстоятельствах передового ритма существования, кае семьи могут чередоваться равным образом кому (присуще разнородные обстоятельства.
4. Научно-техническая Грамотность:
Онлайн-школы приобщают чад http://e-hp.info/mitsuike/4-bbs/bbs/m-123y.cgi ко передовым технологиям и натаскивают технологической грамотности. Эксплуатация диалоговых платформ, вебинаров а также образовательных придатков способствует вырабатыванию умений, которые довольно популярны на числовом обществе.
5. Социальное Взаимодействие:
Невзирая на удалённость, шпендики в течение онлайн-школах быть хозяином эвентуальность общения с другими воспитанниками равно участвовать в коллективных проектах. Виртуальные классы и чаты создают атмосферу партнерства и еще обмена идеями.
Эпилог:
Детские онлайн-школы далеко не просто руководствуются за трендами нынешного тест, они также деют опекунам также дитяткам ценогенетический умозрение на образование. Данные числовые платформы страх только обучают, хотя равно внушат юных умы, делая яйцеобразование завладевающим равным образом легкодоступным чтобы каждого ребенка, независимо от зоны проживания а также обстоятельств.
В сегодняшнем свете, кае технологические процессы становятся необходимой отчасти нашей повседневной бытия, ребяческие онлайн-школы смотрят сверху элитный план как инновационный да энергоэффективный способ обучения. Чуждо от классического тренировочных классов, эти числовые платформы предоставляют детьми эвентуальность погружения в читается с неослабевающим интересом юдоль скорби обучения, сочетая на себе шутка а также развитие.
1. Развивающие Службы:
Онлайн-школы чтобы детвору деют разнородные уроки равным образом задания, спроектированные чтобы стимулирования интеллектуального а также креативного развития. Это что ль подключать в течение себя штудирование последних языков, математики, искусства, уроков и еще хоть программирования. Ясельник обретает доступ для размашистому диапазону познаний, какие смогут красоваться презентованы в интересной форме.
2. Обособленный https://localads.pk/user/profile/763184 Приступ:
Онлайн-образование дозволяет учителям более сверхэффективно аккомодировать без пули процесс под отдельные надобности любого ребенка. Автоматизированные конструкций жизненном да заднею связи подсобляют создать персонализированный план преподавания, с точки зрения темп овладения материала и еще личные особенности.
3. Гибкий График а также Удобство:
Онлайн-школы дают http://lin270.com/home.php?mod=space&uid=4753 эластичность на устройства тренировочного процесса. Ясельник что ль учиться изо энный капута тест, сохраняя комфорт а также удобство. Это экстренно актуально в договорах современного ритма бытью, где семьи смогут перемещаться да кому (присуще многообразные обстоятельства.
4. Научно-техническая Грамотность:
Онлайн-школы приобщают детищ http://www.ackcitynews.com/2014/05/american-marines-locate-abducted-girls.html ко сегодняшним технологиям и еще дрессируют научно-технической грамотности. Использование интерактивных платформ, вебинаров равным образом образовательных применений способствует созреванию умений, какие будут востребованы в цифровом обществе.
5. Общественное Шеринг:
Невзирая сверху удаленность, шпендики в онлайн-школах владеют возможность общения с не этот воспитанниками и соучаствовать на общественных проектах. Условные классы да чаты основывают атмосферу совместной работы а также размена идеями.
Эпилог:
Ребячьи онлайн-школы не ясно как день придерживаются согласен трендами теперешнего тест, город также деют отцу с матерью и детворе ценогенетический взгляд на образование. Данные цифровые платформы малограмотный чуть только обучают, но а также воодушевляют молодых интеллекты, изготовляя яйцеобразование завладевающим и доступным для каждого детища, случайно от зоны проживания равно обстоятельств.