メインコンテンツまでスキップ

Jiraからデータを取り込む

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。「Databricks プレビューの管理」を参照してください。

Databricks LakeFlow Connectを使用してマネージド Jira インジェスト パイプラインを作成する方法を学びます。

注記

Jiraコネクタは、レート制限に達した場合、指数バックオフを使用して自動的に再試行します。レート制限エラーが続く場合は、 「レート制限エラー」を参照してください。

要件

  • 取り込みパイプラインを作成するには、まず次の要件を満たす必要があります。

    • ワークスペースでUnity Catalogが有効になっている必要があります。

    • ワークスペースでサーバレスコンピュートを有効にする必要があります。 「サーバレス コンピュート要件」を参照してください。

    • 新しい接続を作成するには、メタストアに対する CREATE CONNECTION 権限が必要です。Unity Catalogでの特権の管理を参照してください。

      コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。

    • 既存の接続を使用するには、接続オブジェクトに対して USE CONNECTION または ALL PRIVILEGES の権限が必要です。

    • ターゲット カタログに対するUSE CATALOG権限が必要です。

    • 既存のスキーマに対するUSE SCHEMAおよびCREATE TABLE権限、またはターゲット カタログに対するCREATE SCHEMA権限が必要です。

  • Jiraから取り込むには、まずJira接続を作成するのステップを完了する必要があります。

取り込みパイプラインを作成する

各ソース テーブルは、ソースに応じてストリーミング テーブルまたはスナップショット テーブルに取り込まれます。 サポートされているソース テーブルの一覧については、 Jira コネクタ リファレンスを参照してください。

  1. Databricksワークスペースのサイドバーで、 データ取り込み をクリックします。
  2. [データの追加] ページの [Databricks コネクタ] で、 [Jira] をクリックします。
  3. 取り込みウィザードの「 接続 」ページで、Jiraアクセス資格情報を保存している接続を選択します。メタストアに対する CREATE CONNECTION 権限をお持ちの場合、 プラスアイコン。接続の作成 をクリックして、Jira 接続の作成で認証情報を使用して新しい接続を作成できます。
  4. 次へ をクリックします。
  5. インジェスチョン設定 ページで、パイプラインの一意の名前を入力します。
  6. イベント ログを書き込むカタログとスキーマを選択します。カタログに対してUSE CATALOGCREATE SCHEMA権限を持っている場合は、クリックできます。 プラスアイコン。 新しいスキーマを作成するには、ドロップダウン メニューでスキーマを作成します。
  7. パイプラインの作成および続行 をクリックします。
  8. [ソース] ページで、取り込むテーブルを選択します。オプションで、Jira スペースまたはプロジェクトごとにデータをフィルタリングできます。プロジェクト名や ID ではなく、正確なプロジェクト キーを使用します。
  9. 保存して続行 をクリックします。
  10. [宛先] ページで、データをロードするカタログとスキーマを選択します。カタログに対してUSE CATALOGCREATE SCHEMA権限を持っている場合は、クリックできます。 プラスアイコン。 新しいスキーマを作成するには、ドロップダウン メニューでスキーマを作成します。
  11. 保存して続行 をクリックします。
  12. (オプション) スケジュールと通知 ページで、 プラスアイコン。スケジュールを作成します 。宛先テーブルを更新する頻度を設定します。
  13. (オプション)クリック プラスアイコン。通知を追加して パイプライン操作の成功または失敗に関する電子メール通知を設定し、 [保存してパイプラインを実行] をクリックします。

これらの例を使用してパイプラインを構成します。

単一のソーステーブルを取り込む

(推奨) 次のパイプライン定義ファイルは、単一のソース テーブルを取り込みます。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

# The main pipeline for jira_dab
resources:
pipelines:
pipeline_jira:
name: jira_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <jira-connection>
objects:
# An array of objects to ingest from Jira. This example ingests the issues table.
- table:
source_schema: default
source_table: issues
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}

複数のソーステーブルを取り込む

(推奨) 次のパイプライン定義ファイルは、複数のソース テーブルを取り込みます。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

# The main pipeline for jira_dab
resources:
pipelines:
pipeline_jira:
name: jira_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <jira-connection>
objects:
# An array of objects to ingest from Jira. This example ingests the issues and projects tables.
- table:
source_schema: default
source_table: issues
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
- table:
source_schema: default
source_table: projects
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}

すべてのソーステーブルを取り込む

次のパイプライン定義ファイルは、利用可能なすべての Jira ソース テーブルを 1 つのパイプラインに取り込みます。OAuth アプリケーションに完全なテーブル セットに必要なすべてのスコープが含まれていること、および認証ユーザーに必要な Jira 権限があることを確認します。必要なスコープまたは権限が不足している場合、パイプラインは失敗します。

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

# The main pipeline for jira_dab
resources:
pipelines:
pipeline_jira:
name: jira_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <jira-connection>
objects:
# An array of objects to ingest from Jira. This example ingests all tables in the default schema.
- schema:
source_schema: default
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}

宣言型自動化バンドルのジョブ定義ファイル

以下は、宣言型自動化バンドルで使用するジョブ定義ファイルの例です。ジョブは毎日、最後の実行からちょうど 1 日後に実行されます。

YAML
resources:
jobs:
jira_dab_job:
name: jira_dab_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_jira.id}

プロジェクトで絞り込む

パイプライン定義内の任意のテーブルオブジェクトにconnector_options.jira_optionsを追加することで、取り込んだデータを特定のJiraプロジェクトに絞り込むことができます。include_jira_spacesに正確なプロジェクトキーを指定してください。プロジェクトキーは大文字と小文字を区別し、プロジェクト名やIDとは異なります。

プロジェクトキーを見つけるには、プロジェクト内のURLを確認してください。キーは/projects/後に現れます。または、 [プロジェクト設定] > [詳細] に移動して現在および以前のキーを確認するか、プロジェクトの課題カードの上部を確認してください。

詳細については、Jiraドキュメントの「スペースの詳細を編集する」を参照してください。

YAML
- table:
source_schema: default
source_table: issues
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
connector_options:
jira_options:
include_jira_spaces:
- KEY1
- KEY2

課題テーブルの削除を追跡する

重要

By default, the Jira connector does not track deletes for the issues table.削除されたJiraの課題は、宛先テーブルに残ります。削除を反映させるには、jira_options内のuse_audit_logstrueに設定します。これには、有料のJiraプランと、Jira管理者権限を持つ接続ユーザーが必要です。

issues テーブルの削除を検知して反映させるため、コネクタは Jira audit logを読み取ります。監査ログの読み取りには有料の Jira プランと管理者権限が必要なため、コネクタはdefaultでは読み取りを行いません。use_audit_logsfalse (default) の場合、issues テーブルは以前に取り込まれたすべての行を保持し、挿入と更新のみを反映します。use_audit_logstrue に設定すると、Jira で対応する課題が削除されたときに、コネクタは issues テーブルから行を削除します。

削除を追跡するには、次の例に示すように、issues テーブルオブジェクトの connector_options.jira_options の下で use_audit_logstrue に設定します。このオプションは issues テーブルのみに影響します。

フルリフレッシュを行わずに、既存のパイプラインで use_audit_logstrue に設定できます。これは次回のパイプライン更新時に有効になります。その際、コネクタは Jira 監査ログでまだ利用可能な削除情報を照合します。Jira は、Jira プランに応じた一定期間のみ監査ログ記録を保持するため、その保持期間より前に削除された問題は宛先テーブルに残ります。それらの古い削除済み行を削除するには、issues テーブルのフル更新を実行してください。

削除追跡を有効にするための要件については、削除追跡およびJiraで監査Logsを有効にするにはどうすればよいですか?を参照してください。

YAML
- table:
source_schema: default
source_table: issues
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
connector_options:
jira_options:
use_audit_logs: true

一般的なパターン

高度なパイプライン構成については、 「管理された取り込みパイプラインの一般的なパターン」を参照してください。

次のステップ

パイプラインを開始、スケジュールし、アラートを設定します。一般的なパイプラインメンテナンスタスクを参照してください。

追加のリソース