Функции
Ключевые функции
- Получение для проекта Jira всех типов запросов (issue type) и связанных с ними статусов (status) запросов.
- Выборка измененных запросов из Jira с отбором по проекту, периоду, с ограничением на кол-во отбираемых записей и используя шаблон JQL запроса.
- Получение списка пользователей Jira исходя из полей запроса (assignee, reporter, creator), полей worklog-а (autor, update autor) и полей комментариев (autor, update autor) и отображение имени пользователя и представления пользователя при выборе пользователя при редактировании полей запроса и полей записи о работе.
- Чтение и запись ключевых полей запроса (issue) Jira: Наименование (summary), Описание (description), Тип запроса (issue type), Родитель подзадачи (parent), Ссылка на epic (epic link), Приоритет (priority), Исполнитель (assignee), Автор (reporter), Создатель (creator), Срок исполнения (due date), Дата создания (created), Дата обновления (updated), Компоненты проекта Jira (components), Метки (labels), Первоначальная оценка (original estimate), Оставшееся время (remaining estimate), Всего затраты (time spent).
- Чтение и установка нового статуса запроса (status). Получение допустимых транзакции (transitions) Jira для перехода к новому статусу и осуществление перехода используя подходящую транзакцию.
- Чтение записей о работах (worklog) для запроса Jira. Добавление, Изменение и Удаление записей о работе.
- Чтение комментариев к запросу Jira. Формирование ссылки для перехода в Jira непосредственно к выбранному комментарию.
Дополнительные возможности
- В случае ошибки в момент выполнения http запроса к Jira, программа выдает диагностическое сообщение с кодом состояния и открывает для просмотра в виде текста файл с ответом от Jira.
- Программа отдельно контролирует список изменившихся полей запроса и при записи запроса передает в Jira только изменения.
- Основные значения сохраняются между сеансами работы с обработкой (параметры подключения к Jira, типы и статусы запросов, настройки отбора выборки запросов, список пользователей, последние выбранные значения полей запроса).
- Реквизиты и элементы формы для сохраняемых полей создаются программно.
Источники и ссылки
- Спецификация по работе с JIRA с использованием REST: http://docs.atlassian.com/jira/REST/latest/
- Спецификация REST API для JIRA SERVER: https://docs.atlassian.com/jira/REST/server/
- Примеры REST запросов к JIRA: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/
- Продвинутый поиск в Jira используя Jira Query Language (JQL): https://confluence.atlassian.com/jirasoftwareserver073/advanced-searching-861256227.html
- Онлайн просмотр .json: jsonviewer.stack.hu
Особенности и ограничения
- Данная обработка предназначена для работы с серверной версией Jira.
- Для подключения к Jira используется обычная проверка подлинности (Basic authentication).
- При изменении статуса запроса (status) выполняется дополнительный запрос для определения подходящей транзакций перехода от текущего к выбранному статусу. В определенных случаях (например для "подзадачи") переход к выбранному статусу может оказаться невозможным. В таком случае программа выдаст диагностическое сообщение "Не удалось определить ""ID транзакции"" для статуса …".
- При создании в Jira записи о работах (work log) в качестве автора запись всегда устанавливается пользователи под которым выполнено подключение к Jira (указать другого автора нельзя).
- При определенных настройках Jira, в момент перехода к новому статусу, также может изменится исполнитель (assignee) на пользователя от имени которого выполнено подключение к Jira.
- Используя REST невозможно изменить тип запроса "подзадача" на другой тип запроса. При попытке выполнить такое изменение Jira вернет код ошибки и описание ошибки в файле с ответом.
- Для комментариев к запросу реализовано только чтения списка комментариев и непосредственный переход к комментарию в браузере. Создание, изменение и удаление комментариев не поддерживается (при необходимости может быть легко реализовано по аналогии как это сделано для записей о работах (worklog).
Варианты использования
Короткий ролик с демонстрацией основных возможностей обработки (~ 7 мин, только текстовые комментарии, без голосового сопровождения)
Подключение к серверу Jira
На закладке "Параметры" указываются параметры для подключения к Jira:
- Адрес сервера для подключения.
- Ссылка по которой доступен REST API.
- Ключ проекта Jira который будет использоваться.
- Пользователь и пароль для подключения к Jira. Подключение к Jira выполняется используя простой (незащищённый) способ аутентификации (подробнее по ссылке: Basic authentication).
Снимок экрана: Параметры подключения к Jira
Получение Типов и статусов запросов для проекта Jira
- На закладке "Параметры" по кнопке "Заполнить типы и статусы из Jira" выполняется запрос к Jira, который возвращает .json файл с информацией о типах и статусах запросов используемых для указанного проекта. (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/project-getAllStatuses)
- Данные из таблицы используются в дальнейшем для заполнения списков выбора полей "Типа запроса" и "Статус запроса" в карточке запроса на закладке "Запрос".
- Информация из таблицы используется для определения "подзадач" и "id" типа запроса. Эти данные требуется для обращения к Jira при редактирования и создания запросов.
- Список типов и статусов автоматически сохраняется между сеансами работы в данных формы.
Снимок экрана: Типы и статусы запросов в Jira
Выборка запросов используя JQL запрос к Jira
- На закладке "Выборка запросов" по команде "Прочитать из Jira" выполняется запрос к Jira по результатам которого заполняется список запросов (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/search-searchUsingSearchRequest)
- Запросы из Jira отбираются согласно JQL запроса.
- Итоговый JQL запрос формируется путем подстановки параметров в строку "Шаблон запрос JQL для выборки данных".
- Данные выбираются в количестве не более "Всего выбрать" заданными порциями.
- Из списка запросов по ссылке "Browse link" можно перейти к запросу в браузере.
- Из списка запросов по кнопкам "Добавить", "Изменить" можно перейти к созданию или редактированию запроса. При этом будет активирована закладка "Запрос" (в случае операции "Изменить" будет выполнено обращение к Jira и заполнены все предусмотренные для редактирования поля, а также получены все комментарии и записи о работах для выбранного запроса).
Снимок экрана: Выборка запросов из Jira
Список пользователей Jira для выбора
- Список на закладке "Пользователи" является основой для содержимого списков выбора при выборе участников запроса.
- Пользователи в список добавляются автоматически при "Выборке запросов" или при чтения данных конкретного запроса (с учетом записей о работах и комментариев).
- При необходимости пользователей в список можно добавить "вручную".
- Список пользователей автоматически сохраняется между сеансами работы в данных формы.
Снимок экрана: Список пользователей Jira
Чтение запроса из Jira
- На закладке "Запрос" выполняются основные операции по просмотру и редактированию полей запроса.
- Если выбрана операция "Изменить запрос" и заполнен "Ключ запроса" (Key) доступна команда "Прочитать из Jira".
- При нажатии "Прочитать из Jira" выполняется запрос к Jira и заполняются поля запроса, записи о работах и комментарии.
- Если заполнен "Ключ запроса" тогда отображается "ссылка для перехода к запросу в браузере".
- По ссылке "JSON" выполняется переход в браузере к файлу .json с данными запроса.
- Для чтения значений полей выполняется запрос к Jira (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getIssue).
- В случае успешной операции чтения из Jira, все поля запроса отмечаются как "не изменявшиеся".
- Значения полей, количество записей о работах и количество комментариев (кроме самих записей о работах и комментариев) сохраняются между сеансами работы в данных формы.
Снимок экрана: Чтение запроса из Jira
Изменение полей запроса и запись в Jira
- Программа отдельно хранит все предыдущие значения полей запроса.
- Каждый раз при чтении запроса из Jira текущие и предыдущие значения полей синхронизируются.
- При изменение какого-либо из полей запроса, сравнивается новое значение и предыдущее.
- Если новое значение отличается от предыдущего, поле отмечается как "измененное" и выделяется на форме с помощью фона и цвета текста заголовка.
- При записи в Jira передаются только измененные поля (для которых новое значение отличается от предыдущего).
- Для записи выполняется запрос к Jira (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-editIssue)
- Предыдущие значения реквизитов сохраняются между сеансами работы в данных формы.
- Для "обнуления" измененных реквизитов можно либо "Прочитать из Jira" или "Записать в Jira" (после успешной записи автоматически выполняется "Прочитать из Jira".
Снимок экрана: Изменение полей запроса
Создание нового запроса в Jira
- Для создания нового запроса на закладке "Запрос" необходимо выбрать операцию "Создать запрос".
- Пока запрос не создан, недоступны ссылки для перехода к запросу, комментариям и списку записей о работах.
- Для создания запроса выполняется запрос к Jira (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-createIssue)
- После создания запроса в Jira, автоматически выполняется чтение запроса и активация операции "Изменить запрос".
Снимок экрана: Создание нового запроса
Изменение статуса запроса в Jira
- Если изменяется статус запроса, программа показывает информационную надпись вида "При записи статус изменится с "В работе" -> "Выполнен".
- Изменение статуса происходит при нажатии "Записать в Jira".
- Сначала выполняется запрос по записи измененных полей запроса, а затем изменяется статус запроса.
- Изменение статуса запроса происходит в несколько этапов:
- Сначала выполняется дополнительный запрос для получения списка всех допустимых транзакция для текущего запроса (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getTransitions)
- Из списка допустимых транзакция определяется подходящая транзакция, для которой конечный статус равен выбранному в запросе.
- Выполняется отдельный запрос для выполнения транзакции перехода (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-doTransition)
- После изменения статуса запроса, автоматически выполняется чтение запроса из Jira.
Снимок экрана: Изменение статуса запроса
Чтение, Добавление и Удаление записей о работах в Jira
- В карточке запроса на закладке "Записи о работах" отображается список записей о работах запроса.
- По кнопке "Прочитать work log" выполняется запрос к Jira и заполняется список записей о работах для запроса (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getIssueWorklog).
- По кнопке "Добавить" появляется форма для создания новой записи о работе. По кнопке "Сохранить запись" выполняется запрос к Jira для добавления новой записи о работе (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-addWorklog).
- По кнопке "Изменить" появляется форма для редактирования выбранной записи о работе. По кнопке "Записать изменения" выполняется запрос к Jira для обновления данных существующей записи о работе (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-updateWorklog).
- По кнопке "Удалить запись" выполняется запрос к Jira для удаления записи о работах (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-deleteWorklog)
Снимок экрана: Список "Записи о работах"
Снимок экрана: Добавление записи о работе
Снимок экрана: Изменить запись о работе
Снимок экрана: Удалить запись о работе
Чтение комментариев и переход по ссылке к конкретному комментарию в Jira
- В карточке запроса на закладке "Комментарии" отображается список всех комментариев для запроса.
- По кнопке "Прочитать комментарии" выполняется запрос к Jira и заполняется список комментариев для запроса (см. https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/issue-getComments).
- По ссылке "Ссылка на комментарий" можно непосредственно перейти к комментарию в Jira.
Снимок экрана: Список комментариев
Вы используете Jira как веб-морду, общедоступную для всех ?
А 1С как учетную систему для расчета зарплаты и прочих расчетов ?
(1) Да, именно так.
Jira + Confluence — снаружи для клиентов и внешних подрядчиков.
1С — внутри, для аналитики, документооборота, расчетов и учета.
Отлично просто. Сам собирался, но, руки так и не дошли.
(4) пользуйтесь, «на здоровье» )
Спасибо за отличную разработку, очень нуждался в таком инструменте!
Ссылка на полноразмерный скриншот
При попытке изменить задачу выходит следующая ошибка:
В чем может быть проблема?
(6) Возможно вы не заполнили на закладке «Параметры» таблицу «Типы и статусы запросов». Если причина не в этом, готов к вам подключится по teamviewer и удаленно разобраться с проблемой. Напишите мне в личку… я буду на связи ~ после 15.00
(7) «Типы и статусы запросов» я заполнил, нужно что-нибудь в ней менять вручную?
Ссылка на полноразмерный скриншот
(8) При моих настройках 1С и Jira ошибку не удается воспроизвести… но я попробовал предположить в чём может быть проблема в вашем случае. детали на картинке:
https://ibb.co/bXo2eH
Жаль что только управляемые формы. Обработка конечно очень хороша. Все действия пишет. Все ошибки четко выводит. Но вот код читать немного трудно без многих комментов.
Если не полениться то можно подстроить под любую систему. Жаль нельзя добавить +10
(12) Спасибо за оценку :). Про комментарии кода — согласен… по хорошему надо было бы… но уже и так все свои временные лимиты израсходовал на обработку + публикацию :). Потому как в пришлось все свои наработки по интеграции достать из рабочей конфигурации и много чего написать нового и переписать по другому под формат внешней обработки.
Спасибо за отличную разработку
(14) пожалуйста, рад что понравилось 🙂
Добрый день. Jira Server развернут в демо-версии на локальной машине, созданы 2 пользователя: админ и обычный пользователь
Из обработки не могу подключиться, выдает ошибку аутентификации 401.
Подскажите, пожалуйста, в чем может быть дело.
Спасибо.
(16) Добрый день. Что вижу на картинке, и с чем приходилось иногда сталкиваться… Jira иногда не работает корректно с кириллическими именами пользователей. Попробуйте создать пользователей, указав имя пользователя латиницей (на английском), Например не «Владимир», а «wowan_ht»
(17) Спасибо большое, все получилось
(18) Пожалуйста, рад что смог помочь )
Добрый вечер. При попытке заполнить таблицу типов и статусов из Jira, выдается сообщение: Неудача. Код состояния: 404. Данные не получены. Подскажите пожалуйста, где искать ошибку.
(20) Добрый день, сложно сказать не имея подробной информации.
Попробую предположить исходя из того что в этот момент происходит.
В момент получения статусов выполняется REST запрос:
подробнее по ссылке (ссылка есть в описании к обработке):https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#api/2/project-getAllStatuses )
Вы можете просто в браузере выполнить запрос как показано на картинке:
https://ibb.co/gEUrgK
Если запрос написан правильно, в ответ вы получите информацию в формате json.
В вашем случае скорее всего ошибка может быть в написании ключа проекта.
(21) Добрый день. Спасибо за ответ. Попробовал выполнить запрос через браузер. Но выдало вот что:
https://jira.affect.ru/……………………/statuses
<status>
<status-code>404</status-code>
<message>
null for uri:
</message>
</status>
Пробовал с разными ключами. Всегда одно и тоже.
(24) Добрый день. Данная обработка предназначена для серверной версии Jira. При этом, на сколько я знаю, если речь идет об облачной версии, могут быть нюансы в написании отдельных запросов через REST.
Я посмотрел какой должен быть запрос для облачной версии Jira (см. ссылку)
https://developer.atlassian.com/cloud/jira/platform/rest/#api-api-2-project-projectIdOrKey-statuses-get
GET /rest/api/2/project/{projectIdOrKey}/statuses
— запрос такой же как и для серверной версии.
Возможно проблема в настройках прав пользователя под которым вы выполняете этот запрос:
Просто если у вас не работает запрос через браузер, сл-но он не работает и через обработку.
(25) Добрый вечер. Синхронизацию запустить получилось. Данные получены. Но столкнулся с еще одной проблемой: не могу создать новую задачу в обработке. Ошибка Код состояния 400 {«errorMessages»:[],»errors»:{«reporter»:»Field ‘reporter’ cannot be set. It is not on the appropriate screen, or unknown.»}}. А при попытке изменить задачу выдается ошибка: Значение не является значением объектного типа (Количество).
(26) Добрый день.
По Вопросу-1. «Не могу создать новую задачу… «reporter»:»Field ‘reporter’ cannot be set»
Судя по ошибке при ваших настройках Jira, и с правами пользователя, под которым вы подключаетесь к Jira, нет возможности изменить поле «reporter».
Я проверил на «своей» Jira — у меня всё работает.
Ниже на картинке то как информация о «reporter» (автор) запроса отображается в моей Jira.
Попробуйте посмотреть как у вас:
1. Работает ли у вас выборка запросов (Закладка в обработке «Выборка запросов» — «Прочитать из Jira»/
2. Выводиться ли информация в поле «Reporter.name» (В списке выбранных запросов)
3. Откройте ссылку из колонки «Rest link» в браузере, и поищете поиском «reporter»
Если информация читается, но не записывается, причина с большой вероятность в ограниченных правах пользователя под которыми вы работаете c Jira через Rest.Проверьте что вы можете непосредственно в Jira под этим пользователем создать Запрос.
А затем попробуете при создании через обработку, указывать в качестве Автора (reporter), того же пользователя.
По Вопросу-2 приведите пжл. полное сообщение об ошибке, чтобы увидеть номер строки обработки в которой возникает ошибка
(27) По первому вопросу: выборка запросов работает, в поле «Reporter.name» отображается информация, а вот с ссылкой ситуация непонятна. Нажимаю на ссылку и мне предлагается сохранить файл формата json, после этого его можно посмотреть только через блокнот.
В Jira под пользователем могу создавать и изменять запросы. При создании через обработку с тем же автором приходит сообщение с ошибкой 400.
По второму вопросу: полное сообщение {ВнешняяОбработка.Jira_1C_Rest_Обмен_1С8_3.Форма.Форма.Форма(1897)}: Значение не является значением объектного типа (Количество)
Если fields_components.Количество() > 0 Тогда
(28)
В Jira под пользователем могу создавать и изменять запросы. При создании через обработку с тем же автором приходит сообщение с ошибкой 400.
Просмотр через блокнот или сразу в окне браузере не принципиально. Если это поле читается при выборке запросов, значит вопрос с его установкой из обработки.
Проблема может быть из-за имени пользователя в Jira введенного кириллицей. Такой вопрос уже подымался (смотрите комментарий №17). А как у в вашем случае?
Если fields_components.Количество() > 0 Тогда
Судя по ошибке, скорее всего в вашем случае в проекте Jira не используются «Компоненты». Проверить это вы можете скачав файл json и проанализировав поля запроса.
В публикации в разделе «Источники и ссылки» в п.5 есть ссылка на онлайн просмотр Json файлов.
Вы можете закомментировать код обработки по чтению данных о компонентах в таком случае, чтобы избежать ошибки при работе обработки.
(29) Добрый день. Большое спасибо. По второму вопросу все получилось. Нужно было часть кода закомментировать, как вы и подсказывали. Но вот добавление пока не получается. Имя пользователя на английском.
(30)
На всякий случай, чтобы наверняка, привожу картинку что я имею ввиду под именем пользователя.
https://ibb.co/fcWyAp
И это имя должно быть без пробелов и латиницей:
Если все-таки не работает, тогда опять же попробуйте закомментировать код в котором устанавливается поле «reporter» в строке: 2066
4 месяца юзаю вашу обработку, и пишу свою под наши задачи. на самом деле очень многое помогает, но с некоторыми ошибками приходиться долго бороться (пример с компонентой). Через ваш запрос не отработало ( ругается на timetracking, даже не нашла что это за поле), а у меня выдало ошибку типа : «Компоненты не являются массивом». Проверила создание запроса было, вот так в моей обработке:
| «»fields»»: {
| «»project»»: {
| «»key»»: «»PRODDEP»»
| },
| «»issuetype»»: {
| «»id»»: «»10204″»
| },
| «»components»»:{
| «»id»»:»»11102″»
| },
долго мочилась, но посмотрела через вашу обработку код аналогичной задачи и увидела квадратные скобки
вот так получилось в итоге:
| «»fields»»: {
| «»project»»: {
| «»key»»: «»PRODDEP»»
| },
| «»issuetype»»: {
| «»id»»: «»10204″»
| },
| «»components»»: [ {
| «»id»»:»»11102″»
| } ] ,
(32) Добрый день, рад что обработка оказалась полезной.
Подозреваю что могут быть нюансы на разных версиях Jira.
Мне часто помогал простой способ, когда я интерактивно формировал запрос в Jira, а потом просто скачивал rest представлением этого запроса и анализировал его структуру.
В обработке в списке «Выборка запросов из Jira» есть колонка «Rest link» — ссылка по которой можно скачать такое представление.
Доброго времени суток! Я в позитивном шоке) Не ожидал что это чудо взлетит без единого пинка, но-таки взлетело. Большое спасибо) Помимо функциональности порадовало соблюдение ИТС при оформлении кода, прям бальзам на душу.
Один только вопрос. Я кажется знаю ответ, но все-же уточню. Программный интерфейс не выносился на сервер, ради локальных запросов с клиента?
(34) Добрый день! Спасибо за оценку, приятно :).
Да, так и есть. Данная обработка по своей сути — демонстрации возможностей интеграции. В реальности у меня большинство функций работает на сервере в рамках фоновых заданий.
В обработке не реализована возможность прикрепить файл к задаче Jira?
(36) Добрый день! Возможности из 1С прикрепить файл к задаче Jira нет.
(37) Добрый день
Отличная обработка!!! мне очень помогает, благодарю Вас за сей продукт
вопросы такие
каким образом получить:
* список вложений к задаче (в том числе картинки прикладываемые)
* метки к задаче
* компоненты
* связи с другими задачами
где бы почитать про это?!
(38) сам себе отвечу
/rest/api/latest/issue/<номерЗадачи>?&expand=renderedFields
она даёт кучу дополнительный полей (в обработке это при изменении запроса)
и компоненты и метки можно и связи с другими задачами и вложения тоже получаются…
так вопрос закрыт)
(38)
Добрый день, спасибо за оценку )
* метки к задаче
* компоненты
— такой функционал реализован в обработке:
Метки получается из Jira и передаются в Jira через реквизит на форме обработки «Labels»,
С компонентами — аналогично, на форме есть реквизит «Components».
На первый взгляд, мне кажется что это не тривиальная задача, поэтому я её я не делал, но если вы реализуете этот момент, и поделитесь с удовольствием скачаю себе 🙂
В реальной базе у меня используется этот функционал, но в рамках данной обработке его «не прикручивал» (итак потратил на «некоммерческую» обработку больше трудозатрат чем планировал)
Почитать об этом можно по ссылкам которые приведены в описании к публикации 🙂
В частности про вложения:
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-attachment-meta-get
Для установки связи с другой задачей.
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-issueLink-post
Можно ли данную обработку использовать для подключения к jira cloud? Если нет, то сложно ли адаптировать?
(41)
Добрый день. Специально только что зарегился в Jira Cloud:
1. Подключение к Jira работает.
2. Типы и статусы запросов читаются.
3. Выборка запросов из Jira — работает.
4. Создание запроса в Jira выдает ошибку «{«errorMessages»:[],»errors»:{«reporter»:»Field ‘reporter’ cannot be set. It is not on the appropriate screen, or unknown.»}}» — на первом этапе можно просто закомментить обновление этого поля.
5. Записи о работах читаются.
6. Записи о работах создаются.
7. Комментарии читаются.
8. Переходы по ссылкам работают.
ИТОГО:
Да, можно.
Но есть отдельные вопросы с созданием запроса, которые легко решаются.
(43) Добрый день, не совсем понял ваш вопрос. Какая «такая» обработка? И что значит скинуть на почту?
Здесь обсуждается одна и та же обработка «Jira и 1C обмен через REST 1C 8.3.epf»
Скачать её можно по ссылке к публикации.
Чтобы её скачать нужно иметь всего лишь 1 стартмани.
А как можно получить 1 стартмани?
(45)
https://infostart.ru/about/service/premium/
Попросить знакомого скачать, у которого они есть,
или заплатить деньги и купить себе стартмани:
(47) Спасибо 🙂
(47) Минус за использование латинизма «плюс», вместо, например славянского «любо»
(49) И Вам, спасибо 🙂
(49) «Любо», отличное слово, куда лучше противного англицизма «лайк».
Оставлю здесь код для записи вложений в созданный issue:
На вход нужно передать соответствие «СоответствиеВложений» где ключ — имя файла вложения, а значение — base64 строка с данными файла. В переменную НомерIssue нужно передать ключ запроса.
Показать
Добрый день!
А как можно добавить наблюдателя к задаче в jira?
(53) Добрый день. Такой функционал в представленной обработке изначально не реализован. Но впринципе REST спецификация Jira позволяет реализовать такую функцию.
(54)А поподробнее можно? Каким запросом это делается?
А поподробнее можно? Каким запросом это делается?
Add watcher: POST /rest/api/2/issue/{issueIdOrKey}/watchers
Remove watcher DELETE /rest/api/2/issue/{issueIdOrKey}/watchers
…
(57) А пример передаваемого json?
(58) Судя по документации надо передать просто «json строку»
https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-api-3-issue-issueIdOrKey-watchers-post
(59) Спасибо
(52)
Доброго дня
Благодарю за код, это я так понимаю для отправки в Jira Файла, а вот как получить его из Jira? может есть у кого наработки?
а вот как такие конструкции restapi в 1с обработать? (Для получения файла из Jira)
GET /rest/api/2/attachment/{id}
(62) Вызываешь данные запроса по адресу
В ответ получаешь json вида
Показать
«10000» тут — id, который ты можешь передать в указанную тобой конструкцию и получить json аналогичный тому, что тебе тут уже в attachment пришло.
А можешь просто в цикле обежать, найти нужный файл по filename и вызвать строчку из content. Должна начаться закачка файла.
оставлю тут для поколений:
Решил задачу с получением файлов из Attachment
https://infostart.ru/public/709325/
взял библиотеку от Автора в виде Общего.Модуля: КоннекторHTTP из публикации
и такой код
в переменной Рез.Тело — двоичныеДанные файла
отлично работает эта спарка — рекомендую!!!
(63) Благодарю, но что то в «лоб» не решается так задачка у меня
то что ниже по комментарию взлетела
там засада в том, что при первичном httpЗапросе возвращается 302 редирект на API atlassian где по токену надо выдёргивать файл
+ как мне подсказали в телеграм канале по 1с — там ещё Cookies задействованы… так что пока через КоннекторHTTP работает и славно!!!
Добавлю для искателей приключений по данным Jira
Для получения всех полей используемых в Задаче (включая Пользовательские поля)
С ТИПАМИ значений, а также с возможными подстановками в поле
существует такой запрос
ПарамСерверJira.JiraАдресRestAPI+»/issue/»+issue[«key»] + «/editmeta»
при таком GetЗапросе получается вся структура созданных полей для данного issue
Если есть доступ к административной панели Jira, то рекомендую поставить плагин Atlassian REST API Browser.
В нем библиотека всех запросов REST и возможность прямо из интерфейса выполнять запросы. Помогает сразу увидеть результат и с помощью фильтров получить итоговый текст get или post запроса.
(52) Подскажите, почему в ответ может приходить код 415?
Расшифровка такая: 415 Unsupported Media Type — Неподдерживаемый тип данных.
Передаю обычный текстовый файл.
(68) Судя по коду — у вас в JIRA стоит ограничение на расширения файлов вложений, которые могут быть прикреплены, а в файле передается имя файла не соответствующее фильтру (как вариант — в имени файла вообще не указано расширение).
Привет, откуда взять поле epic link?
(70) Привет, не уверен что правильно понял вопрос, поэтому приведу пример из реальной жизн 🙂
(71)
имел ввиду другое), разобрался, спасибо