> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Linear

> CorgeaでLinear連携を設定する方法

CorgeaのLinear連携により、コードベースや依存関係で見つかったセキュリティ上の問題に対して自動的にLinear問題を作成できます。この連携により、既存のLinearワークフロー内でのセキュリティ脆弱性の追跡と管理プロセスが効率化されます。

## 前提条件

Linear連携を設定する前に、次の要件を確認してください。

* アクセス可能なLinearワークスペース
* Linearの**Settings > API**で作成した個人APIキー（[Linear APIキーの作成方法](https://linear.app/docs/api-and-webhooks)）
* Corgeaで連携を追加、編集、削除するための**Manage Integrations**権限と、設定済みの連携を表示するための**View Integrations**権限（[権限グループ](/ja/permission_groups)を参照）

<Note>
  Linearの個人APIキーには、ワークスペース内でキー作成者が持つ権限が継承されます。Corgeaに付与する権限と一致するアカウントでキーを作成してください。Corgeaはキーを暗号化して保存し、保存後に再表示することはありません。

  サポートされているのは個人用APIキーのみです。OAuthは現在利用できません。
</Note>

<Info>
  Linear連携はスタータープラン以上で利用可能です。無料プランでは、CorgeaはLinear連携ページを開く代わりにアップグレードを促します。
</Info>

## 連携の設定

<Steps>
  <Step title="Integrationsページを開く">
    Corgeaアカウントにログインして**Integrations**ページに移動し、**Ticketing Integrations**で**Linear**を見つけます。

    <Frame>
      <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/ticketing_integrations.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=e8406565228b260e6adb7083922fea53" style={{ borderRadius: '0.5rem' }} alt="Ticketing IntegrationsにJIRAと並んで表示されたLinear" width="2462" height="374" data-path="images/linear/ticketing_integrations.png" />
    </Frame>
  </Step>

  <Step title="Linear連携を開く">
    **Add**をクリックしてLinear連携ページを開きます。連携を1つ以上設定すると、このボタンは**Edit**に変わり、設定済みの件数が表示されます。

    <Frame>
      <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/no_linear_integrations.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=fc8927e7b15dd85a69c12e1950f95515" style={{ borderRadius: '0.5rem' }} alt="連携を追加する前のLinear連携ページ" width="2576" height="918" data-path="images/linear/no_linear_integrations.png" />
    </Frame>
  </Step>

  <Step title="連携の設定">
    **Add Integration**をクリックし、次の情報を入力します。

    * **Name**:連携を識別しやすい名前（例:「My Linear Workspace」）
    * **API Key**:Linearの個人APIキー
    * **Team Default**（任意）:問題作成時に事前選択するLinearチームのID
    * **Project Default**（任意）:問題作成時に事前選択するLinearプロジェクトのID

    どちらのデフォルトにも、名前ではなくLinear IDを指定します。チケット作成時に毎回チームとプロジェクトを選択する場合は、空欄にします。

    <Frame>
      <img src="https://mintcdn.com/corgea/kSEDD3ERVNp3rnFE/images/linear/add_linear_integration_modal.png?fit=max&auto=format&n=kSEDD3ERVNp3rnFE&q=85&s=8c462b1c7d9a1bcb0fc7d40efa115696" style={{ borderRadius: '0.5rem' }} alt="Add Linear Integrationダイアログ" width="1014" height="1018" data-path="images/linear/add_linear_integration_modal.png" />
    </Frame>
  </Step>

  <Step title="設定を保存">
    **Save**をクリックして連携設定を完了します。Corgeaは保存前にLinearでAPIキーを検証するため、無効なキーは即座に拒否され、設定は保存されません。

    <Frame>
      <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/linear_integration_api_key_error.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=d4ad2803c35706aadaeaed72e81bb8c4" style={{ borderRadius: '0.5rem' }} alt="無効なAPIキーエラーを表示するAdd Linear Integrationダイアログ" width="1022" height="1180" data-path="images/linear/linear_integration_api_key_error.png" />
    </Frame>
  </Step>
</Steps>

## Linear問題の作成

<Steps>
  <Step title="問題を開く">
    Corgeaでコードの問題または依存関係の問題に移動し、問題の詳細ページを開きます。
  </Step>

  <Step title="Linearチケット作成画面を開く">
    問題のサイドバーで、道標アイコンのボタン（ツールチップ:**Create Linear Ticket**）を選択します。JIRAも接続している場合は、JIRAのボタンが隣に表示されます。

    <Frame>
      <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/create_linear_ticket_button.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=7267dee4eb043bab7860ca900917d4c1" style={{ borderRadius: '0.5rem' }} alt="問題のサイドバーにあるCreate Linear Ticketボタン" width="616" height="602" data-path="images/linear/create_linear_ticket_button.png" />
    </Frame>
  </Step>

  <Step title="チケットの設定">
    チケットの作成先となる連携を選択し、次にチームを選択します。連携設定でチームとプロジェクトのデフォルト値を指定していない場合は、ここで指定します。Corgeaがチームを自動取得し、チームを選択すると、そのチームのプロジェクトが読み込まれます。

    プロジェクトは任意です。**No project**を選択すると、プロジェクトを指定せずにチームへ問題を作成できます。また、選択済みのプロジェクトを解除する場合にも使用します。

    <Frame>
      <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/create_linear_ticket_modal.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=836927e5d8afc281211518bc26896cda" style={{ borderRadius: '0.5rem' }} alt="連携、チーム、プロジェクトの選択欄を含むCreate Linear Ticketダイアログ" width="1016" height="824" data-path="images/linear/create_linear_ticket_modal.png" />
    </Frame>
  </Step>

  <Step title="チケット作成">
    **Create Ticket**ボタンをクリックします。Corgeaが関連情報を含む新しいLinear問題を作成します。
  </Step>

  <Step title="作成確認">
    新しいLinear問題が別のブラウザタブで開き、Corgeaに確認通知が表示されます。その後、問題の詳細ページにLinear問題への**View Ticket**リンクが表示されます。
  </Step>
</Steps>

チケットを作成すると、検出結果の説明、ファイルパス、修正案がLinearに送信されます。そのため、チケット作成には検出結果自体と同じアクセス制御が適用され、検出結果の表示権限と、その検出結果が属するプロジェクトへのアクセス権が必要です。Corgeaで検出結果を開けない場合は、Linear問題を作成できません。

CorgeaからLinearに接続できない場合や、APIキーに問題作成権限がない場合は、ダイアログにエラーが表示され、チケットは記録されません。

<Note>
  Linearで問題が作成されたものの、Corgeaから検出結果にリンクできない場合、ダイアログに**Open in Linear**リンクが表示されます。再試行による重複作成を防ぐため、**Create Ticket**は無効になります。Linear問題を確認したら、問題の詳細ページを再読み込みしてください。
</Note>

Corgeaがチームやプロジェクトを読み込んでいる間も**Create Ticket**は無効です。そのため、デフォルトプロジェクトが適用される前にチケットが作成されることはありません。

## Linearの問題の詳細カスタマイズ

デフォルトで、CorgeaはLinear問題に以下の情報を表示します。

* **タイトル**:
  * コード問題:問題分類とファイル位置
  * 依存関係の問題:CVE、影響を受けたパッケージ、影響を受けたバージョン
* **説明**:
  * 脆弱性の詳細(場所/パッケージ、カテゴリ、重大度)
  * 問題の説明
  * 修正案。Corgeaが生成した場合はコード差分も含まれます。長い差分は省略され、修正がない場合は「Corgea couldn't generate an auto-fix」と表示されます
  * プロジェクト情報:プロジェクト名、スキャンID、スキャン日(コード問題)
  * 参照先:MITREのCWEエントリ、CorgeaのCWEデータベース、利用可能な場合はGitHubまたはGitLab上の該当ファイルへのリンク（コードの問題）
  * Corgeaの問題詳細ページへのリンク

説明はMarkdownで書かれているため、Linearは見出し、リンク、差分ブロックをネイティブにレンダリングします。

追加フィールドが必要な場合や問題の詳細をカスタマイズする場合は、作成後にLinearワークスペースで問題を編集できます。

## 複数のLinear連携を管理

複数のLinearワークスペースがあれば、Corgeaで複数のLinear連携を設定できます。Linear問題を作成する際には、適切な連携を選択するよう求められます。

### 連携の編集

Linear連携ページで、変更したい連携の鉛筆アイコンを選択します。

<Frame>
  <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/hovering_over_edit_button.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=bc6e0067cc9b1fa0d6fe892339870e45" style={{ borderRadius: '0.5rem' }} alt="Linear連携の編集ボタン" width="2576" height="918" data-path="images/linear/hovering_over_edit_button.png" />
</Frame>

既存のAPIキーを維持する場合はAPIキー欄を空欄にし、置き換える場合は新しいキーを入力します。Corgeaは保存済みのキーをブラウザに返さないため、この欄には現在の値が表示されず、常に空欄で開きます。

<Frame>
  <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/edit_linear_integration_modal.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=f9cb2639fea7be6a42464871d8f91026" style={{ borderRadius: '0.5rem' }} alt="Linear連携の編集ダイアログ" width="1014" height="1018" data-path="images/linear/edit_linear_integration_modal.png" />
</Frame>

### 連携を削除する

削除したい連携のゴミ箱アイコンを選択してください。

<Frame>
  <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/hovering_over_delete_button.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=0586ae8786924759219b42e9769274cb" style={{ borderRadius: '0.5rem' }} alt="Linear連携の削除ボタン" width="2576" height="918" data-path="images/linear/hovering_over_delete_button.png" />
</Frame>

Corgeaは連携名を示す確認画面を表示し、確認後に削除します。連携を削除しても、ワークスペースとCorgeaの接続が解除されるだけで、作成済みのLinear問題はそのまま残ります。

<Frame>
  <img src="https://mintcdn.com/corgea/yUpPYRq94UTabZ2I/images/linear/delete_linear_integration.png?fit=max&auto=format&n=yUpPYRq94UTabZ2I&q=85&s=9de22d656d06f908e38df0f8e69e061f" style={{ borderRadius: '0.5rem' }} alt="Linear連携を削除する前に表示された確認ページ" width="1216" height="580" data-path="images/linear/delete_linear_integration.png" />
</Frame>

CorgeaをLinearと連携することで、セキュリティ脆弱性管理プロセスを効率化し、既存のワークフロー内で重要な問題を追跡・対処できます。
