공식 패키지 · 자동화와 인프라

Jira 이슈 업데이트를 내 페이지에 실시간으로

이슈 변경과 새 댓글을 발생 즉시 채널로 보내는 Jira Cloud 앱. 고객 포털, 앱, 월 스크린이 Jira API를 폴링하지 않고도 갱신됩니다.

  • issue-created, 바뀐 필드를 담은 issue-updated, issue-deleted, comment-added를 jira-{projectKey}와 jira-issue-{issueKey}로 보냅니다.
  • 비공개 채널과 보낼 프로젝트 목록을 지원하며, 사람 이름은 켜지 않는 한 보내지 않습니다.
  • Atlassian Forge 기반: 설정과 secret은 Jira에 저장되고, 앱은 Jira와 사용 중인 Hibira 클러스터에만 연결합니다.
  • 규칙 하나만 필요하다면 앱 없이도 됩니다. 앱 설정의 수신 webhook URL을 Jira Automation의 Send web request 작업에 붙여 넣으세요.

로그인하면 예제 코드에 내 클러스터 호스트가 채워집니다. 로그인

  1. 설치

    git clone https://github.com/hibira-io/jira && cd jira
    npm install
    forge register && forge deploy
    forge install --product jira --site your-site.atlassian.net
  2. 설정하기

    Jira → Settings → Apps → Hibira Realtime
      App ID:  YOUR_APP_ID
      Key:     YOUR_APP_KEY
      Secret:  YOUR_APP_SECRET
      → Save → Send test event
  3. 사용하기

    const pusher = new Pusher('YOUR_APP_KEY', {
      cluster: 'hkg',
      wsHost: 'ws.hibira.io',
    });
    pusher.subscribe('jira-issue-SUP-42').bind('issue-updated', ({ issue, changes }) => {
      document.querySelector('#status').textContent = issue.status;
    });
  4. 또는 Jira Automation 사용

    Hibira portal → your app → Settings → Incoming webhook URL
      Channel: jira-SUP   Event: issue-updated   → Create URL
    
    Jira → Project settings → Automation → Create rule
      When: Issue transitioned
      Then: Send web request
        URL:    the incoming webhook URL
                 (add ?pick=issue.key,issue.fields.status.name to send less)
        Method: POST    Body: Issue data

시작하기 전에

  • 앱 시크릿은 앱을 만들거나 시크릿을 교체할 때 한 번만 표시됩니다. 서버에만 두고, 브라우저나 게임 빌드에는 절대 넣지 마세요.
  • Free 요금제에서는 페이지를 불러오는 모든 오리진을 앱의 허용 오리진에 등록하세요(개발 중에는 http://localhost:3000, 이후에는 내 도메인). "*"는 유료 요금제에서 쓸 수 있습니다.
  • Forge에는 무료 Atlassian 개발자 계정과 Forge CLI(npm install -g @forge/cli)가 필요합니다.

대시보드의 앱 키를 사용하세요. 시크릿은 서버에만 둡니다. 채널, 이벤트, 인가 엔드포인트는 Pusher와 똑같이 동작합니다. 무료 계정 만들기 →