14장. JIRA에 연결

통합에서는 Jira 서버에 연결하여 문제를 해결, 생성 또는 업데이트할 수 있습니다. Jira는 소프트웨어 개발 프로젝트를 계획, 추적 및 관리하는 툴입니다. 각 Jira 환경에서는 워크플로우를 사용자 지정할 수 있으므로 통합에서 Jira에 연결하기 위한 세부 정보에 영향을 미칩니다. Jira 관리자와의 컨설팅은 세부 사항을 명확히 설명해야합니다.

다음 주제에서는 Jira 서버에 연결하는 통합을 생성하기 위한 정보 및 절차를 제공합니다.

14.1. OAuth를 사용하는 Jira 서버에 Fuse Online 등록

통합은 OAuth 프로토콜을 사용하여 액세스를 인증하는 Jira 서버에 연결할 수 있습니다. 이를 활성화하려면 Fuse Online 환경을 Jira 클라이언트 애플리케이션으로 등록합니다. Jira 클라이언트 애플리케이션은 Jira 소비자라고도 합니다. 즉, Fuse Online 환경은 Jira 소비자입니다.

참고

Jira 서버에서 기본 인증만 사용하는 경우에는 등록이 필요하지 않습니다.

다음 절차에 따라 Jira에 대한 Fuse Online 연결을 생성하는 데 필요한 Jira OAuth 인증 정보를 가져옵니다. 샘플 서버의 단계를 수행하는 튜토리얼을 포함하여 Jira 소비자 등록에 대한 자세한 내용은 Jira 문서를 참조하십시오.

Jira 서버에 Fuse Online을 등록한 후 Fuse Online을 사용하여 해당 Jira 서버에 대한 연결을 생성합니다. 모든 통합에서 동일한 Jira 연결을 사용할 수 있습니다. 그러나 다른 Jira 연결을 생성하려면 여기에 제공된 등록 절차를 반복하여 다른 OAuth 인증 정보 세트를 가져와야 합니다.

기본 단계 개요

등록 절차의 주요 단계는 다음과 같습니다.

  • OAuth 인증 정보를 가져올 수 있는 Atlassian 명령줄 애플리케이션을 가져옵니다.
  • 다운로드한 애플리케이션을 실행하여 config.properties 파일을 생성합니다.
  • Fuse Online에서 Jira 서버에 액세스하는 데 사용하는 공개/개인 키 쌍을 생성합니다.
  • config.properties 파일을 편집하여 일부 값을 업데이트합니다.
  • Fuse Online 환경을 소비자 애플리케이션으로 인식하도록 Jira 서버를 구성합니다.
  • Fuse Online에서 Jira 서버의 데이터에 액세스해야 하는 Jira 액세스 토큰을 받으십시오.

이러한 각 단계에는 몇 가지 하위 단계가 있으며 아래 절차에서는 세부 정보를 제공합니다.

사전 요구 사항

  • JIRA 서버 관리 권한.
  • 명령줄 인터페이스에 대해 숙지합니다.

절차

  1. OAuth 인증 정보를 가져올 수 있는 Atlassian 명령줄 애플리케이션을 가져옵니다.

    1. atlassian-oauth-examples 페이지로 이동합니다.
    2. 왼쪽 패널에서 아래쪽에서 다운로드를 클릭합니다.
    3. 다운로드 페이지에서 리포지토리 다운로드를 클릭합니다.
    4. 파일을 선택한 디렉터리로 추출합니다.
  2. 다운로드한 애플리케이션을 실행하여 OAuth 인증 정보에 대한 config.properties 파일을 생성합니다.

    1. 터미널에서 추출된 콘텐츠가 포함된 디렉터리로 이동합니다.
    2. java 디렉터리로 변경하고 클라이언트를 빌드합니다.

      cd atlassianlabs-atlassian-oauth-examples-dd0264cad043/java
      mvn clean compile assembly:single
    3. 대상 디렉터리로 변경하고 config.properties 파일을 생성합니다.

      cd target
      java -jar OAuthTutorialClient-1.0.jar requestToken

    연결 예외를 무시할 수 있습니다. 대상 디렉터리에는 이제 일부 임시 키가 포함된 config.properties 파일이 있습니다.

  3. Fuse Online에서 Jira 서버에 액세스해야 하는 공개/개인 키 쌍을 생성합니다. 이러한 명령을 어디에서나 실행할 수 있지만 첫 번째 명령은 편의를 위해 특정 디렉터리로 안내합니다.

    1. 다운로드한 애플리케이션이 포함된 디렉터리로 이동합니다.
    2. 개인 키를 생성합니다.

      openssl genrsa -out jira_privatekey.pem 1024
    3. 공개 키를 가져옵니다.

      openssl req -newkey rsa:1024 -x509 -key jira_privatekey.pem -out jira_publickey.cer -days 365

      이 명령은 Fuse Online 환경에 대한 정보를 입력하라는 메시지를 표시합니다. 또는 프롬프트에 응답하지 않도록 하려면 명령에 -subj 옵션을 추가합니다. 예를 들어 위의 명령행 끝에 다음과 같이 추가합니다.

      -subj "/C=US/ST=New York/L=New York/O=MyCompany Ltd./OU=IT/CN=mysubdomain.mydomain.com"
    4. 키를 내보냅니다.

      openssl pkcs8 -topk8 -nocrypt -in jira_privatekey.pem -out jira_privatekey.pcks8
      openssl x509 -pubkey -noout -in jira_publickey.cer  > jira_publickey.pem

      이제 4개의 파일이 있습니다.

      jira_privatekey.pcks8
      jira_privatekey.pem
      jira_publickey.cer
      jira_publickey.pem

    5. 헤더, 줄 바꿈 및 발퍼 없이 개인 키를 가져옵니다.

      cat jira_privatekey.pcks8 | grep -v 'PRIVATE'|awk '{print}' ORS=''
    6. 개인 키를 클립보드에 복사합니다.
  4. config.properties 파일을 편집합니다.

    1. config.properties 파일이 포함된 java/target 디렉터리로 이동하여 편집을 위해 파일을 엽니다.
    2. config.properties 파일에서 프라이빗 키를 클립보드에 복사한 개인 키로 교체합니다.
    3. jira_home 설정을 Jira 서버의 URL로 변경합니다. Jira 서버가 https 를 사용하는 경우 https 를 지정해야 합니다. 또한 콜론을 이스케이프해야 합니다. 예를 들면 다음과 같습니다.

      jira_home=https\://issues.mycompany.org
    4. consumer_key 설정을 Fuse Online App 으로 변경합니다. 예를 들면 다음과 같습니다.

      consumer_key=Fuse Online App
    5. config.properties 파일을 저장하고 닫습니다.
  5. Fuse Online 환경을 소비자 애플리케이션으로 인식하도록 Jira 서버를 구성합니다. 관리 사용자로 Jira 서버에 로그인해야 합니다.

    1. 설정 ( cog ) > 제품 > 애플리케이션 링크를 선택합니다.
    2. 새 링크 입력 생성 필드에 URL을 입력합니다(예: https://example.com ).

      여기에는 응답이 수신되지 않았음을 나타내는 대화 상자가 표시됩니다. 단방향 통신만 필요하기 때문입니다.

    3. 계속 을 클릭하여 링크 애플리케이션 대화 상자를 표시합니다. 이 대화 상자에서 다음을 수행합니다.

      1. 소비자 키 필드에 Fuse Online App 을 입력합니다.
      2. 맨 아래에서 들어오는 링크 만들기 를 선택합니다.
      3. 다른 각 필드에 값을 입력합니다. 각 필드에는 값이 필요합니다. 응답이 필요하지 않기 때문에 입력하는 값은 중요하지 않습니다.
      4. Continue 를 클릭하여 다른 대화 상자를 표시합니다.
      5. 소비자 키 필드에 Fuse Online App 을 입력합니다.
      6. 소비자 이름 필드에 Fuse Online App 을 입력합니다.
      7. 공개 키 필드에 jira_publickey.pem 파일에 있는 공개 키를 붙여넣습니다. 제목과 footer 없이 키만 붙여넣어야 합니다. 복사할 수 있도록 키를 표시하려면 jira_publickey.pem 파일이 포함된 디렉터리에 cat jira_publickey.pem 을 입력합니다.
      8. Continue 를 클릭합니다.
  6. Fuse Online에서 Jira 서버의 데이터에 액세스해야 하는 Jira 액세스 토큰을 받으십시오. 이 절차의 시작 부분에 연결된 Jira OAuth 설명서에서 이 단계를 Fuse Online, Jira 서버 및 Jira 관리자 간에 교환하기 때문에 "Oauth dance"라고 합니다.

    1. 이 전체 절차의 첫 번째 단계에서 다운로드한 명령줄 애플리케이션이 포함된 디렉터리의 java/target 디렉터리로 이동합니다.
    2. Jira 서버에서 요청 토큰을 가져옵니다.

      java -jar OAuthTutorialClient-1.0.jar requestToken

      다음과 같이 표시됩니다.

      Token:          ec3dj4byySM5ek3XW7gl7f4oc99obAlo
      Token Secret:   OhONj0eF7zhXAMKZLbD2Rd3x7Dmxjy0d
      Retrieved request token. go to https://jira101.atlassian.net/plugins/servlet/oauth/authorize?oauth_token=ec3dj4byySM5ek3XW7gl7f4oc99obAlo to authorize it
    3. 다른 브라우저 탭에서 해당 출력에 제공된 URL로 이동합니다. 해당 페이지에서는 Jira를 시작하고 Fuse Online App에 대한 액세스를 허용하라는 메시지를 표시합니다.
    4. 확인 코드가 포함된 액세스 승인 페이지가 표시되는 허용 을 클릭합니다.
    5. 확인 코드를 클립보드에 복사하여 쉽게 검색할 수 있도록 에 붙여넣습니다.
    6. 다음과 같은 명령을 호출하여 액세스 토큰을 확보합니다. 다음 명령줄 예제에서 마지막 값은 확인 코드입니다. 실행하는 명령에서 예제 확인 코드를 이전 단계에서 복사한 확인 코드로 바꿉니다. 예를 들면 다음과 같습니다.

      java -jar OAuthTutorialClient-1.0.jar accessToken qTJkPi

      이 명령의 출력은 Fuse Online에서 Jira 서버에 액세스해야 하는 액세스 토큰입니다.

결과

Jira 명령줄 애플리케이션은 Fuse Online에 대한 Jira 연결을 구성하는 데 필요한 모든 값을 포함하도록 config.properties 파일을 업데이트합니다.

다음 단계

Jira 연결을 생성합니다.