InfoGrab DocsInfoGrab Docs

Jira DVCS 커넥터 문제 해결

요약

Jira DVCS 커넥터를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. Add New Account 양식을 작성하고 접근 권한을 부여한 뒤 다음 오류가 발생하면 Jira와 GitLab 이 연결되지 않은 것입니다.

Jira DVCS 커넥터를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.

Jira가 GitLab 서버에 접근할 수 없음#

Add New Account 양식을 작성하고 접근 권한을 부여한 뒤 다음 오류가 발생하면 Jira와 GitLab 이 연결되지 않은 것입니다. 로그에는 다른 오류 메시지가 나타나지 않습니다.

Error obtaining access token. Cannot access https://gitlab.example.com from Jira.

Jira의 세션 토큰 버그#

GitLab을 Jira Server와 함께 사용하면 Jira의 세션 토큰 버그가 발생할 수 있습니다. 이 버그는 Jira Server 8.20.8, 8.22.3, 8.22.4, 9.4.6, 9.4.14 버전에 영향을 미칩니다.

이 문제를 해결하려면 Jira Server 8.20.11 이상 또는 9.1.0 이상 버전을 사용합니다.

SSL 및 TLS 문제#

SSL 및 TLS 관련 문제가 있으면 다음 오류 메시지가 발생할 수 있습니다.

Error obtaining access token. Cannot access https://gitlab.example.com from Jira.
  • Jira 이슈 연동은 GitLab 이 Jira에 연결해야 합니다. 프라이빗 인증 기관이나 자체 서명 인증서로 인해 발생하는 TLS 문제는 GitLab 이 TLS 클라이언트이므로 GitLab 서버에서 해결합니다.
  • Jira 개발 패널은 Jira가 GitLab에 연결해야 하므로 Jira가 TLS 클라이언트가 됩니다. GitLab 서버의 인증서가 공인 인증 기관에서 발급되지 않았다면 적절한 인증서(예: 조직의 루트 인증서)를 Jira Server의 Java Truststore에 추가합니다.

Jira 설정에 대한 자세한 내용은 Atlassian 문서와 Atlassian Support를 참고합니다.

  • 트러스트 스토어에 인증서를 추가합니다.
    • 가장 간단한 방법은 keytool을 사용하는 것입니다.
    • Jira가 공인 인증 기관도 신뢰하도록 Java의 기본 Truststore(cacerts)에 루트 인증서를 추가로 등록합니다.
    • Jira Java 런타임을 업그레이드한 뒤 연동이 동작하지 않는다면 업그레이드 과정에서 cacerts Truststore가 교체되었을 수 있습니다.
  • SSLPoke Java 클래스를 사용해 TLS 핸드셰이킹을 포함한 연결 문제를 해결합니다.
  • Atlassian 지식 기반에서 이 클래스를 Jira Server의 디렉터리(예: /tmp)로 다운로드합니다.
  • Jira와 동일한 Java 런타임을 사용합니다.
  • 프록시 설정이나 대체 루트 Truststore(-Djavax.net.ssl.trustStore) 등 Jira 호출 시 사용되는 네트워킹 관련 파라미터를 모두 전달합니다.
${JAVA_HOME}/bin/java -Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -classpath /tmp SSLPoke gitlab.example.com 443

Successfully connected 메시지가 나타나면 TLS 핸드셰이크가 성공한 것입니다.

문제가 있으면 Java TLS 라이브러리가 오류를 생성하며, 자세한 내용은 해당 오류를 조회하여 확인할 수 있습니다.

DVCS로 Jira에 연결할 때 발생하는 스코프 오류#

The requested scope is invalid, unknown, or malformed.

가능한 해결 방법:

  1. Jira DVCS 커넥터 설정에서 Jira 로부터 리디렉션된 후 브라우저에 표시되는 URL의 쿼리 문자열에 scope=api가 포함되어 있는지 확인합니다.
  2. URL에 scope=api가 없다면 GitLab 계정 설정을 편집합니다. Scopes 섹션을 확인하고 api 체크박스가 선택되어 있는지 확인합니다.

오류: 410 Gone#

Jira에 연결하여 리포지터리를 동기화할 때 410 Gone 오류가 발생할 수 있습니다. 이 문제는 Jira DVCS 커넥터를 사용하면서 연동이 GitHub Enterprise를 사용하도록 구성된 경우 발생합니다.

자세한 내용은 이슈 340160을 참고합니다.

동기화 문제#

Jira에 삭제된 브랜치와 같은 잘못된 정보가 표시된다면 정보를 다시 동기화해야 할 수 있습니다.

  1. Jira에서 Jira Administration > Applications > DVCS accounts를 선택합니다.
  2. 계정(그룹 또는 하위 그룹)에 대해 ellipsis_h 메뉴에서 Refresh repositories를 선택합니다.
  3. 각 프로젝트마다 Last activity 날짜 옆에서 다음을 수행합니다.
    • 소프트 재동기화를 수행하려면 동기화 아이콘을 선택합니다.
    • 전체 동기화를 완료하려면 Shift를 누른 상태로 동기화 아이콘을 선택합니다.

자세한 내용은 Atlassian 문서를 참고합니다.

오류: Sync Failed#

특정 프로젝트에 대해 리포지터리 데이터를 새로고침할 때 Jira에서 Sync Failed 오류가 발생하면 Jira DVCS 커넥터 로그를 확인합니다. GitLab의 API 리소스에 요청을 실행할 때 발생하는 오류를 찾습니다. 예를 들면 다음과 같습니다.

Failed to execute request [https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 GET https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 returned a response status of 403 Forbidden] errors:
{"message":"403 Forbidden"}

403 Forbidden 오류가 발생하면 해당 프로젝트에서 일부 GitLab 기능이 꺼져 있을 수 있습니다. 앞의 예시에서는 머지 리퀘스트 기능이 꺼져 있습니다.

이 문제를 해결하려면 관련 기능을 켭니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Visibility, project features, permissions를 확장합니다.
  4. 토글을 사용해 필요한 기능을 켭니다.

DVCS로 연결된 프로젝트에서 웹훅 로그 찾기#

DVCS로 연결된 프로젝트에서 웹훅 로그를 찾으려면 다음과 같이 합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Webhooks를 선택합니다.
  3. 아래로 스크롤하여 Project hooks로 이동합니다.
  4. Jira 인스턴스를 가리키는 로그 옆에서 Edit를 선택합니다.
  5. 아래로 스크롤하여 Recent events로 이동합니다.

프로젝트에서 웹훅 로그를 찾을 수 없다면 DVCS 설정에 문제가 없는지 확인합니다.

Jira DVCS 커넥터 문제 해결

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

Jira DVCS 커넥터를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. Add New Account 양식을 작성하고 접근 권한을 부여한 뒤 다음 오류가 발생하면 Jira와 GitLab 이 연결되지 않은 것입니다.

Jira DVCS 커넥터를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.

Jira가 GitLab 서버에 접근할 수 없음#

Add New Account 양식을 작성하고 접근 권한을 부여한 뒤 다음 오류가 발생하면 Jira와 GitLab 이 연결되지 않은 것입니다. 로그에는 다른 오류 메시지가 나타나지 않습니다.

Error obtaining access token. Cannot access https://gitlab.example.com from Jira.

Jira의 세션 토큰 버그#

GitLab을 Jira Server와 함께 사용하면 Jira의 세션 토큰 버그가 발생할 수 있습니다. 이 버그는 Jira Server 8.20.8, 8.22.3, 8.22.4, 9.4.6, 9.4.14 버전에 영향을 미칩니다.

이 문제를 해결하려면 Jira Server 8.20.11 이상 또는 9.1.0 이상 버전을 사용합니다.

SSL 및 TLS 문제#

SSL 및 TLS 관련 문제가 있으면 다음 오류 메시지가 발생할 수 있습니다.

Error obtaining access token. Cannot access https://gitlab.example.com from Jira.
  • Jira 이슈 연동은 GitLab 이 Jira에 연결해야 합니다. 프라이빗 인증 기관이나 자체 서명 인증서로 인해 발생하는 TLS 문제는 GitLab 이 TLS 클라이언트이므로 GitLab 서버에서 해결합니다.
  • Jira 개발 패널은 Jira가 GitLab에 연결해야 하므로 Jira가 TLS 클라이언트가 됩니다. GitLab 서버의 인증서가 공인 인증 기관에서 발급되지 않았다면 적절한 인증서(예: 조직의 루트 인증서)를 Jira Server의 Java Truststore에 추가합니다.

Jira 설정에 대한 자세한 내용은 Atlassian 문서와 Atlassian Support를 참고합니다.

  • 트러스트 스토어에 인증서를 추가합니다.
    • 가장 간단한 방법은 keytool을 사용하는 것입니다.
    • Jira가 공인 인증 기관도 신뢰하도록 Java의 기본 Truststore(cacerts)에 루트 인증서를 추가로 등록합니다.
    • Jira Java 런타임을 업그레이드한 뒤 연동이 동작하지 않는다면 업그레이드 과정에서 cacerts Truststore가 교체되었을 수 있습니다.
  • SSLPoke Java 클래스를 사용해 TLS 핸드셰이킹을 포함한 연결 문제를 해결합니다.
  • Atlassian 지식 기반에서 이 클래스를 Jira Server의 디렉터리(예: /tmp)로 다운로드합니다.
  • Jira와 동일한 Java 런타임을 사용합니다.
  • 프록시 설정이나 대체 루트 Truststore(-Djavax.net.ssl.trustStore) 등 Jira 호출 시 사용되는 네트워킹 관련 파라미터를 모두 전달합니다.
${JAVA_HOME}/bin/java -Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -classpath /tmp SSLPoke gitlab.example.com 443

Successfully connected 메시지가 나타나면 TLS 핸드셰이크가 성공한 것입니다.

문제가 있으면 Java TLS 라이브러리가 오류를 생성하며, 자세한 내용은 해당 오류를 조회하여 확인할 수 있습니다.

DVCS로 Jira에 연결할 때 발생하는 스코프 오류#

The requested scope is invalid, unknown, or malformed.

가능한 해결 방법:

  1. Jira DVCS 커넥터 설정에서 Jira 로부터 리디렉션된 후 브라우저에 표시되는 URL의 쿼리 문자열에 scope=api가 포함되어 있는지 확인합니다.
  2. URL에 scope=api가 없다면 GitLab 계정 설정을 편집합니다. Scopes 섹션을 확인하고 api 체크박스가 선택되어 있는지 확인합니다.

오류: 410 Gone#

Jira에 연결하여 리포지터리를 동기화할 때 410 Gone 오류가 발생할 수 있습니다. 이 문제는 Jira DVCS 커넥터를 사용하면서 연동이 GitHub Enterprise를 사용하도록 구성된 경우 발생합니다.

자세한 내용은 이슈 340160을 참고합니다.

동기화 문제#

Jira에 삭제된 브랜치와 같은 잘못된 정보가 표시된다면 정보를 다시 동기화해야 할 수 있습니다.

  1. Jira에서 Jira Administration > Applications > DVCS accounts를 선택합니다.
  2. 계정(그룹 또는 하위 그룹)에 대해 ellipsis_h 메뉴에서 Refresh repositories를 선택합니다.
  3. 각 프로젝트마다 Last activity 날짜 옆에서 다음을 수행합니다.
    • 소프트 재동기화를 수행하려면 동기화 아이콘을 선택합니다.
    • 전체 동기화를 완료하려면 Shift를 누른 상태로 동기화 아이콘을 선택합니다.

자세한 내용은 Atlassian 문서를 참고합니다.

오류: Sync Failed#

특정 프로젝트에 대해 리포지터리 데이터를 새로고침할 때 Jira에서 Sync Failed 오류가 발생하면 Jira DVCS 커넥터 로그를 확인합니다. GitLab의 API 리소스에 요청을 실행할 때 발생하는 오류를 찾습니다. 예를 들면 다음과 같습니다.

Failed to execute request [https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 GET https://gitlab.com/api/v4/projects/:id/merge_requests?page=1&per_page=100 returned a response status of 403 Forbidden] errors:
{"message":"403 Forbidden"}

403 Forbidden 오류가 발생하면 해당 프로젝트에서 일부 GitLab 기능이 꺼져 있을 수 있습니다. 앞의 예시에서는 머지 리퀘스트 기능이 꺼져 있습니다.

이 문제를 해결하려면 관련 기능을 켭니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > General을 선택합니다.
  3. Visibility, project features, permissions를 확장합니다.
  4. 토글을 사용해 필요한 기능을 켭니다.

DVCS로 연결된 프로젝트에서 웹훅 로그 찾기#

DVCS로 연결된 프로젝트에서 웹훅 로그를 찾으려면 다음과 같이 합니다.

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Webhooks를 선택합니다.
  3. 아래로 스크롤하여 Project hooks로 이동합니다.
  4. Jira 인스턴스를 가리키는 로그 옆에서 Edit를 선택합니다.
  5. 아래로 스크롤하여 Recent events로 이동합니다.

프로젝트에서 웹훅 로그를 찾을 수 없다면 DVCS 설정에 문제가 없는지 확인합니다.