본문 바로가기

Tools/Perforce

[P4 Code Review] Jira Cloud 연동이 안되는 경우

상황

Swarm config.php 에 Jira 관련 정보를 아래와 같이 제대로 입력했지만 Jira 에 링크가 걸리지 않는 경우가 있다.

    'jira' => array(
        'host'      => 'https://xxxxxxxxx.atlassian.net', // 1. Jira Cloud 주소
        'user'      => 'your_emain@domain',    // 2. Jira 로그인 이메일
        'password'  => 'Jira API Tokken',  // 3. Jira API 토큰
        'job_field' => 'Job',
        'link_to_jobs'    => true,
        'delay_job_links' => 60,
        'relationship'    => '',
    ),

 

테스트

여러가지 원인이 있을 수 있겠지만 일단 jiratest.php 로 테스트를 해보는 것이 좋다.

Perforce 에서 제공하는 Jira Test php 파일을 받는다.

cd /opt/perforce/swarm
wget https://swarm.workshop.perforce.com/downloads/guest/joel_brown/swarm/jiratest/jiratest2020.php -O jiratest.php

 

그 후, Swarm의 config.php 파일을 테스트용으로 복제한다. 

cd /opt/perforce/swarm
cp data/config.php jiraconfig.php

 

테스트 파일을 실행.

php jiratest.php
root@ubuntu:/opt/perforce/swarm# php jiratest.php
JIRA host: https://xxxxxxxxxxx.atlassian.net
Making request to https://xxxxxxxxxxx.atlassian.net/rest/api/latest/project
  Status code: 200 OK
JIRA Projects returned: 0

 

200 코드가 반환 되는 것으로 봐서 Jira Cloud 사이트 접속엔 문제가 없다.

즉, Jira URL, Jira Email, API Tokken 이 정상인데, Projects 가 0 으로 나온다.

 

Jira Cloud Free Plan 에서는 사용자별로 프로젝트 접근 권한을 설정할 수 없기 때문에

무조건 모든 유저가 모든 프로젝트에 접근이 가능한 구조이다. (접근 가능한 프로젝트가 절대 0 이 나올 수가 없다.)

 

문제 원인

이 경우의 원인은 Swarm - Jira 연동에 사용했던 Jira 계정이 일반적인 이메일로 가입된 계정이 아니라

Google SSO 계정을 사용했기 때문이었다.

 

Google 이나 MS 계정 대신 일반 이메일로 계정 생성 후, 다시 API Tokken 을 생성해서 연동을 해보니,

정상적으로 프로젝트가 조회 되었다.

root@ubuntu:/opt/perforce/swarm# php jiratest.php
JIRA host: https://xxxxxxxxxx.atlassian.net
Making request to https://xxxxxxxxxx.atlassian.net/rest/api/latest/project
  Status code: 200 OK
JIRA Projects returned: 5
 AP TEST PROJ TEST2 TEST3

 

 

API 사용 시에는 이메일로 가입된 계정만 사용하도록 하자.