Перейти к основному содержанию
Контакты

Интеграция Salesforce с JIRA: обзор и пример интеграции

О компании
Опубликовано admin
18 июня 2019
250

 

Более 125 000 компаний во всем мире для отслеживания процессов и задач используют в повседневной работе JIRA, еще больше используют CRM-систему Salesforce. Иногда возникают ситуации, когда работать одновременно и с Salesforce, и с JIRA не очень комфортно. Например, в Salesforce пришел Case и, чтобы его обработать, пользователь должен зайти в JIRA и создать задачу, при этом информация из Case в Salesforce должна быть скопирована в JIRA. "Быстро и эффективно" явно не про этот случай. А вот интеграция Salesforce и JIRA могла бы существенно увеличить производительность и автоматизировать работу в обоих приложениях.

К примеру, пришла задача в Salesforce -- автоматически создается задача в JIRA и назначается на того, кто сможет помочь с данной проблемой. Быстро и удобно, нет никаких лишних действий.

Но тут возникает ряд вопросов. Можно ли в принципе интегрировать Salesforce и JIRA? Как получить уже созданные задачи в JIRA в Salesforce?

Рассмотрим все вопросы по порядку.

Да, интегрировать Salesforce с JIRA  реально. Также возможна и обратная интеграция, например, чтобы получить все задачи из JIRA в Salesforce.

Salesforce with JIRA

JIRA REST API позволяет взаимодействовать со сторонним приложением JIRA. Весь список API можно найти в официальной документации JIRA.

JIRA REST API защищен ограничениями -- для того чтобы использовать JIRA API нужно авторизоваться. Кроме того, если вы вошли в систему и не имеете достаточно прав на просмотр чего-либо в JIRA, вы также не сможете просматривать это с помощью JIRA REST API. Предпочтительными методами аутентификации для JIRA REST API являются OAuth и HTTP Basic (при использовании SSL). Другие поддерживаемые методы включают в себя: cookie-файлы HTTP и доверенные приложения.

В нашем случае была использована авторизация с помощью HTTP Basic.

Далее мы рассмотрим на примерах, некоторые основные методы JIRA REST API, которые нам потребуются для интеграции JIRA с Salesforce.

Сценарий 1: Создание задачи в JIRA через Salesforce

Прежде чем приступить к работе с интеграцией, нужно настроить доступ к необходимым проектам и полям для пользователя в JIRA, иначе могут возникнуть ошибки. Для создания tasks (и если настройки JIRA позволяют создавать подзадачи, то и создание subtasks). Запрос на endpoint JIRA API /rest/api/2/issue/bulk с методом POST позволяет создать несколько задач или подзадач в одной mass operation.

To create JIRA tasks

To create JIRA tasks

Примечание: Текущая версия API - 2. Однако, есть также символическая версия, называемая самой последней, которая разрешает последнюю версию, поддерживаемую данным экземпляром JIRA.

Примечание: URI для ресурсов имеют следующую структуру: https://<site-url>/rest/api/2/<resource-name>

Если нам нужно создать одну задачу используем запрос /rest/api/2/issue метод POST.

Примечание: В случае возникновения ошибки со стороны JIRA при вызове JIRA API , возвращается ошибка c HTTP кодом 400 и errorMessages в теле JSON ответа с описанием ошибки. Следует учесть, что помимо некоторых системных полей(например, errorMessages) общая структура ответа для каждого запроса разная.

Сценарий 2: Получение задач из JIRA в Salesforce

Если нам нужно получить задачи из определенного проекта, то для начала мы можем получить информацию обо всех проектах, а затем детальную информацию о проекте.

Для получения всех проектов в JIRA используем GET запрос /rest/api/2/project.

Для получения детальной информации о проекте (задачи, описание и т.д.) используем HTTP метод GET /rest/api/2/project/{projectIdOrKey}, где projectIdOrKey - the project id или project key. В Salesforce информацию о проекте лучше всего хранить в отдельном объекте, например Project, в нем сохранять и название проекта, а также ProjectId.

jira-salesforce-integration

Если вы хотите использовать интеграцию JIRA и Salesforce, но не хотите разбираться как это работает, можно воспользоваться готовым решением от JET BI проект Komunikado.

Напишите нам, чтобы получить подробную информацию.

 


Вопрос эксперту