Интеграция Jira с GitLab

Цель


При коммите в git упоминаем в комментарии какую-либо задачу из Jira по имени, после чего происходит две вещи:

  • в GitLab название задачи превращается в активную ссылку на нее в Jira

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

Настройка


  1. Нам нужен пользователь Jira с правами уровня write. Можно использовать существующего, важно помнить, что все комментарии в Jira при упоминании задач из гита будут падать от имени этого пользователя, поэтому лучше создать нового, назвать его, скажем, GitLab, и добавить в Jira с правами write во все ваши проекты.
  2. Нам нужен GitLab пользователь с правами администратора в каждом из проектов, который мы будем подключать. Для каждого проекта интеграция настраивается отдельно.
  3. В GitLab открываем проект, заходим в Settings -> Integrations. Скроллим вниз, видим Project services c длинным списком сервисов, которые можно подключить.

  4. Находим в этом списке Jira, появляется форма


    • Проставляем галочку Active, чтобы активировать связь.
    • Как видно из формы, можно отдельно настроить нужное поведение для коммитов и merge-реквестов.
    • Вводим Web URL вашей компании в Jira, например 'https://companyname.atlassian.net'
    • Jira API url — заполняется, если у вас есть другой инстанс Jira, по умолчанию будет использоваться значение Web URL.
    • Поля Username/Email и Password/Token заполняются соответственно тому, используете вы Jira Server или Jira Cloud. В случае Jira Server вы вводите Username и пароль пользователя, от имени которого будут добавляться комментарии. В случае Jira Cloud вы проставляете email и токен, который можно получить здесь.
    • Поле Transition ID(s). Если вы хотите, скажем, чтобы при упоминании задачи она автоматически закрывалась, то в этом поле нужно прописать ID перехода в состояние closed. Этот ID можно получить по API:
      https://companyname.atlassian.net/rest/api/2/issue/ISSUENAME-123/transitions 

      где ISSUENAME-123 — имя какой-нибудь задачи в нужном состоянии. Вы получите JSON c массивом transitions, из которого можно взять нужный id.

    В результате в GitLab в Settings -> Integrations Jira теперь имеет зеленый индикатор:



    и в меню проекта появится пункт Jira, который ведет в соответствующий проект в Jira:



Использование:


Когда пишем комментарий к коммиту (не важно, какой инструмент мы при этом используем для работы с git), можем добавить название задач в текстовом виде (без кавычек или каких-либо спецсимволов типа @)

bugfix XPROJECT-123, XPROJECT-124

в результате к соответствующей задаче упадет комментарий:



и в гитлабе появится активная ссылка:

image

Средняя зарплата в IT

113 000 ₽/мес.
Средняя зарплата по всем IT-специализациям на основании 5 381 анкеты, за 2-ое пол. 2020 года Узнать свою зарплату
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 5

    0
    Мы для этого используем плагин jigit
    Но круто если это из коробки стало работать, надо будет посмотреть. Штука архиважная для QA и программистов.
      +2
      docs.gitlab.com/ee/user/project/integrations/jira.html
      Доступно с версии GitLab 7.8. (который вышел еще в 2015 году)
        0
        спасибо — действительно полезно настроить будет. Только смущает вот этот момент:
        вы вводите Username и пароль пользователя, от имени которого будут добавляться комментарии.
        разве не логичнее было бы от имени пользователя, сделавшего коммит, оставлять комментарий? А так получает лишний юзер будет болтаться в джире.
          0
          Логичнее, но суть в том, все комменты в любом случае будут идти от одного и того же аккаунта, токен/логин-пароль которого вы давали при настройке системы. То это будет либо условный Вася Иванов, либо отдельно созданный для технических целей пользователь GitLab. Второй вариант выглядит аккуратнее, но да, будет болтаться лишний юзер, и тут уже выбор за вами, как удобнее.
          0
          Не хотелось заниматься некропостингом… но Gitlab Listener (плагин для Jira) может подойти лучше — он и комментарии и worklog делает от имени пользователя. Работает через веб-хук на стороне Gitlab. Есть минусы, но в целом неплох.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое