公式パッケージ · 自動化とインフラ

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 とまったく同じように動作します。 無料でアカウントを作成 →