Jira DVCS 연결 문제 해결

Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-Managed, GitLab Dedicated

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

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

새 계정 추가 양식을 작성하고 액세스를 승인하면 다음과 같은 오류가 발생하면 Jira와 GitLab이 연결할 수 없습니다. 다른 오류 메시지는 로그에 나타나지 않습니다.

액세스 토큰을 가져오는 중 오류 발생. Jira에서 https://gitlab.example.com에 접근할 수 없음.

Jira에서 세션 토큰 버그

GitLab 15.0 및 이후 버전을 Jira 서버와 사용할 때, 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와 관련된 문제로 다음과 같은 오류 메시지가 발생할 수 있습니다.

액세스 토큰을 가져오는 중 오류 발생. Jira에서 https://gitlab.example.com에 접근할 수 없음.
  • Jira 통합은 GitLab이 Jira에 연결하도록합니다. 사설 인증 기관 또는 자체 서명된 인증서에서 발생하는 모든 TLS 문제는 GitLab 서버(https://docs.gitlab.com/omnibus/settings/ssl/index.html#install-custom-public-certificates)에서 해결됩니다. GitLab은 TLS 클라이언트이기 때문입니다.
  • Jira 개발 패널은 Jira가 GitLab에 연결하도록하므로 Jira가 TLS 클라이언트가됩니다. GitLab 서버의 인증서가 공개 인증 기관에서 발급되지 않았다면 관련된 인증서(예: 귀하의 조직의 루트 인증서)를 Jira Server의 Java Truststore에 추가하십시오.

Jira 설정에 대한 자세한 내용은 Atlassian 설명서 및 Atlassian 지원을 참조하십시오.

  • 인증서 추가에 대한 DETAILS:
    • 가장 간단한 방법은 keytool을 사용하는 것입니다.
    • Jira에서 공개 인증 기관도 신뢰하도록 Java의 기본 Truststore(cacerts)에 추가 루트를 추가하십시오.
    • Jira Java 런타임을 업그레이드하면 통합이 작동을 멈출 수 있으므로, 업그레이드 중 cacerts Truststore가 교체되었을 수 있습니다.
  • TLS 핸드셰이크 (TLS handshaking)까지의 연결 문제 문제 해결을 위해 SSLPoke Java 클래스를 사용하십시오.
  • Atlassian 지식베이스에서 클래스를 Jira Server의 디렉터리(예: /tmp)에 다운로드하십시오.
  • Jira와 동일한 Java 런타임을 사용하십시오.
  • Jira가 호출될 때 전달되는 모든 네트워크 관련 매개 변수(예: 프록시 설정 또는 대체 루트 Truststore(-Djavax.net.ssl.trustStore))를 전달하십시오:
${JAVA_HOME}/bin/java -Djavax.net.ssl.trustStore=/var/atlassian/application-data/jira/cacerts -classpath /tmp SSLPoke gitlab.example.com 443

성공적으로 연결됨 메시지가 나타나면 TLS 핸드셰이크가 성공적으로 진행됨을 나타냅니다.

문제가 발생하면 Java TLS 라이브러리가 자세한 오류를 생성하므로 더 많은 세부 정보를 찾을 수 있습니다.

Jira 연결 시 Scope 오류

요청된 Scope가 유효하지 않거나 잘못되었습니다.

가능한 해결 방법:

  1. Jira DVCS 커넥터 설정을 통해 Jira에서 리디렉트된 후 브라우저에 표시된 URL에 scope=api가 포함되어 있는지 확인하십시오.
  2. URL에서 scope=api가 빠져있는 경우 GitLab 계정 구성을 편집하십시오. Scopes 필드를 검토하고 api 확인란이 선택되어 있는지 확인하십시오.

Jira 연결 시 410 Gone 오류

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

자세한 내용은 이슈 340160을 참조하십시오.

동기화 문제

Jira에서 삭제된 브랜치 등과 같이 잘못된 정보가 표시되는 경우, 정보를 다시 동기화해야할 수 있습니다.

  1. Jira에서 Jira Administration > Applications > DVCS accounts을 선택하십시오.
  2. 계정(그룹 또는 하위 그룹)에 대해 (생략 부호) 메뉴에서 리프레시 리포지터리(Refresh repositories)를 선택하십시오.
  3. 각 프로젝트에 대해 최근 활동(Last activity) 날짜 옆:
    • 소프트 리싱크(soft resync)를 수행하려면 동기화 아이콘을 선택하십시오.
    • 전체 리싱크(full sync)를 완료하려면 Shift를 누른 상태에서 동기화 아이콘을 선택하십시오.

자세한 내용은 Atlassian documentation를 참조하십시오.

특정 프로젝트의 리포지터리 데이터를 새로 고칠 때 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 기능이 비활성화되어 있을 수 있습니다. 위의 예에서 Merge Request 기능이 비활성화되어 있습니다.

이 문제를 해결하려면 해당 기능을 활성화하십시오.

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으십시오.
  2. 설정(Setting) > 일반(General)을 선택하십시오.
  3. 가시성, 프로젝트 기능, 권한(Visibility, project features, permissions)을 확장하십시오.
  4. 필요한 대로 토글을 사용하여 기능을 활성화하십시오.

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

DVCS 연결된 프로젝트에서 웹훅 로그를 찾으려면 다음을 수행하십시오:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으십시오.
  2. 설정(Setting) > 웹훅(Webhooks)을 선택하십시오.
  3. 아래로 스크롤하여 프로젝트 훅(Project Hooks)을 찾으십시오.
  4. Jira 인스턴스를 가리키는 로그 옆에서 편집(Edit)을 선택하십시오.
  5. 최근 이벤트(Recent events)로 스크롤하십시오.

프로젝트에서 웹훅 로그를 찾을 수 없는 경우 DVCS 설정을 문제점을 찾으십시오.