翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Atlassian サービスでの OpenSearch Ingestion パイプラインの使用
Atlassian Jira および Confluence ソースプラグインを使用して、Atlassian サービスから OpenSearch Ingestion パイプラインにデータを取り込むことができます。これらの統合により、継続的なモニタリングと更新の自動同期を通じてリアルタイムの関連性を維持しながら、完全な Jira プロジェクトと Confluence スペースを同期することで、統合された検索可能なナレッジベースを作成できます。
トピック
前提条件
OpenSearch Ingestion パイプラインを作成する前に、次の手順を実行します。
-
次のいずれかのオプションを選択して、Jira サイトの認証情報を準備します。OpenSearch Ingestion では、コンテンツに対する
ReadOnly
認可のみが必要です。-
オプション 1: API キー – Atlassian アカウントにログインし、次のトピックの情報を使用して API キーを生成します。
-
オプション 2: OAuth2 – Atlassian アカウントにログインし、 の情報を使用しますOAuth 2.0 を使用した Amazon OpenSearch Ingestion パイプラインの Atlassian Jira または Confluence への接続。
-
-
でシークレットを作成して AWS Secrets Manager、前のステップで作成した認証情報を保存します。手順に従って、次の選択を行います。
-
[Secret type] (シークレットタイプ) で、[Other type of secret] (他の種類のシークレット) を選択します。
-
キーと値のペアの場合は、選択した認可タイプに応じて次のペアを作成します。
シークレットを作成したら、シークレットの Amazon リソースネーム (ARN) をコピーします。パイプラインロールのアクセス許可ポリシーに含めます。
-
パイプラインロールを設定する
パイプラインで渡されるロールには、前提条件セクションで作成されたシークレットを読み書きするための次のポリシーがアタッチされている必要があります。
ロールには、選択したシンクにアクセスして書き込むためのポリシーもアタッチする必要があります。例えば、シンクとして OpenSearch を選択した場合、ポリシーは次のようになります。
Jira コネクタパイプライン設定
事前設定された Atlassian Jira ブループリントを使用して、このパイプラインを作成できます。詳細については、「ブループリントの使用」を参照してください。
プレースホルダー値
を、ユーザー自身の情報に置き換えます。
version: "2" extension: aws: secrets: jira-account-credentials: secret_id: "
secret-arn
" region: "secret-region
" sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role
" atlassian-jira-pipeline: source: jira: # We only support one host url for now hosts: ["jira-host-url
"] acknowledgments: true authentication: # Provide one of the authentication method to use. Supported methods are 'basic' and 'oauth2'. # For basic authentication, password is the API key that you generate using your jira account basic: username: ${{aws_secrets:jira-account-credentials:username}} password: ${{aws_secrets:jira-account-credentials:password}} # For OAuth2 based authentication, we require the following 4 key values stored in the secret # Follow atlassian instructions at the below link to generate these keys. # https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/ # If you are using OAuth2 authentication, we also require, write permission to your AWS secret to # be able to write the renewed tokens back into the secret. # oauth2: # client_id: ${{aws_secrets:jira-account-credentials:clientId}} # client_secret: ${{aws_secrets:jira-account-credentials:clientSecret}} # access_token: ${{aws_secrets:jira-account-credentials:accessToken}} # refresh_token: ${{aws_secrets:jira-account-credentials:refreshToken}} filter: project: key: include: # This is not project name. # It is an alphanumeric project key that you can find under project details in Jira. - "project-key
" - "project-key
" # exclude: # - "project-key
" # - "project-key
" issue_type: include: - "issue-type
" # - "Story" # - "Bug" # - "Task" # exclude: # - "Epic" status: include: - "ticket-status
" # - "To Do" # - "In Progress" # - "Done" # exclude: # - "Backlog" sink: - opensearch: # Provide an Amazon OpenSearch Service domain endpoint hosts: [ "https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com
" ] index: "index_${getMetadata(\"project\")}" # Ensure adding unique document id which is the unique ticket id in this case document_id: '${/id}' aws: # Provide a Role ARN with access to the domain. This role should have a trust relationship with osis-pipelines.amazonaws.com sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role
" # Provide the region of the domain. region: "us-east-1
" # Enable the 'serverless' flag if the sink is an Amazon OpenSearch Serverless collection serverless: false # serverless_options: # Specify a name here to create or update network policy for the serverless collection # network_policy_name: "network-policy-name" # Enable the 'distribution_version' setting if the Amazon OpenSearch Service domain is of version Elasticsearch 6.x # distribution_version: "es6" # Enable and switch the 'enable_request_compression' flag if the default compression setting is changed in the domain. # See Amazon OpenSearch Service での HTTP リクエストの圧縮 # enable_request_compression: true/false # Optional: Enable the S3 DLQ to capture any failed requests in an S3 bucket. Delete this entire block if you don't want a DLQ. dlq: s3: # Provide an S3 bucket bucket: "your-dlq-bucket-name
" # Provide a key path prefix for the failed requests # key_path_prefix: "kinesis-pipeline/logs/dlq" # Provide the region of the bucket. region: "us-east-1
" # Provide a Role ARN with access to the bucket. This role should have a trust relationship with osis-pipelines.amazonaws.com sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role
"
Jira ソースの属性へのキー:
-
ホスト: Jira クラウドまたはオンプレミス URL。一般的に、 のようになります
https://
。your-domain-name
.atlassian.net/ -
確認: シンクへのデータの配信を保証します。
-
認証: パイプラインが Jira インスタンスにアクセスする方法について説明します。
Basic
またはOAuth2
を選択し、シー AWS クレット内のキーを参照する対応するキー属性を指定します。 -
filter: このセクションでは、抽出して同期する Jira データのどの部分を選択するのに役立ちます。
-
project: 同期するプロジェクトキーを
include
セクションに一覧表示します。それ以外の場合は、exclude
セクションで除外するプロジェクトを一覧表示します。任意の時点で、インクルードまたは除外オプションを 1 つだけ指定します。 -
issue_type: 同期する特定の問題タイプ。ニーズに合った同様の
include
またはexclude
パターンに従います。添付ファイルは元の添付ファイルへのアンカーリンクとして表示されますが、添付ファイルの内容は抽出されないことに注意してください。 -
status: データ抽出クエリに適用する特定のステータスフィルター。を指定した場合
include
、これらのステータスのチケットのみが同期されます。を指定した場合exclude
、除外ステータスがリストされているチケットを除くすべてのチケットが同期されます。
-
Confluence コネクタパイプライン設定
事前設定された Atlassian Confluence ブループリントを使用して、このパイプラインを作成できます。詳細については、「ブループリントの使用」を参照してください。
version: "2" extension: aws: secrets: confluence-account-credentials: secret_id: "
secret-arn
" region: "secret-region
" sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role
" atlassian-confluence-pipeline: source: confluence: # We currently support only one host URL. hosts: ["confluence-host-url
"] acknowledgments: true authentication: # Provide one of the authentication method to use. Supported methods are 'basic' and 'oauth2'. # For basic authentication, password is the API key that you generate using your Confluence account basic: username: ${{aws_secrets:confluence-account-credentials:confluenceId}} password: ${{aws_secrets:confluence-account-credentials:confluenceCredential}} # For OAuth2 based authentication, we require the following 4 key values stored in the secret # Follow atlassian instructions at the following link to generate these keys: # https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/ # If you are using OAuth2 authentication, we also require write permission to your AWS secret to # be able to write the renewed tokens back into the secret. # oauth2: # client_id: ${{aws_secrets:confluence-account-credentials:clientId}} # client_secret: ${{aws_secrets:confluence-account-credentials:clientSecret}} # access_token: ${{aws_secrets:confluence-account-credentials:accessToken}} # refresh_token: ${{aws_secrets:confluence-account-credentials:refreshToken}} filter: space: key: include: # This is not space name. # It is a space key that you can find under space details in Confluence. - "space key
" - "space key
" # exclude: # - "space key
" # - "space key
" page_type: include: - "content type
" # - "page" # - "blogpost" # - "comment" # exclude: # - "attachment" sink: - opensearch: # Provide an Amazon OpenSearch Service domain endpoint hosts: [ "https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com
" ] index: "index_${getMetadata(\"space\")}" # Ensure adding unique document id which is the unique ticket ID in this case. document_id: '${/id}' aws: # Provide the Amazon Resource Name (ARN) for a role with access to the domain. This role should have a trust relationship with osis-pipelines.amazonaws.com. sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role
" # Provide the Region of the domain. region: "us-east-1
" # Enable the 'serverless' flag if the sink is an Amazon OpenSearch Serverless collection serverless: false # serverless_options: # Specify a name here to create or update network policy for the serverless collection. # network_policy_name: "network-policy-name" # Enable the 'distribution_version' setting if the Amazon OpenSearch Service domain is of version Elasticsearch 6.x # distribution_version: "es6" # Enable and switch the 'enable_request_compression' flag if the default compression setting is changed in the domain. # For more information, see Amazon OpenSearch Service での HTTP リクエストの圧縮. # enable_request_compression: true/false # Optional: Enable the S3 DLQ to capture any failed requests in an S3 bucket. Delete this entire block if you don't want a DLQ. dlq: s3: # Provide an S3 bucket bucket: "your-dlq-bucket-name
" # Provide a key path prefix for the failed requests # key_path_prefix: "kinesis-pipeline/logs/dlq" # Provide the Rregion of the bucket. region: "us-east-1
" # Provide the Amazon Resource Name (ARN) for a role with access to the bucket. This role should have a trust relationship with osis-pipelines.amazonaws.com sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role
"
Confluence ソースのキー属性:
-
hosts: Confluence クラウドまたはオンプレミス URL。一般的に、次のようになります。
https://
your-domain-name
.atlassian.net/ -
確認: シンクへのデータの配信を保証します。
-
認証: パイプラインが Confluence インスタンスにアクセスする方法について説明します。
Basic
またはOAuth2
を選択し、シー AWS クレット内のキーを参照する対応するキー属性を指定します。 -
filter: このセクションでは、Confluence データのどの部分を抽出して同期するかを選択するのに役立ちます。
-
space: 同期するスペースキーを
include
セクションに一覧表示します。それ以外の場合は、exclude
セクションで除外するスペースを一覧表示します。任意の時点でインクルードまたは除外オプションを 1 つだけ指定します。 -
page_type: 同期する特定のページタイプ (ページ、ブログ投稿、添付ファイルなど)。ニーズに合った同様の
include
またはexclude
パターンに従います。添付ファイルは元の添付ファイルへのアンカーリンクとして表示されますが、添付ファイルの内容は抽出されないことに注意してください。
-
データ整合性
パイプライン YAML で指定されたフィルターに基づいて、選択したプロジェクト (またはスペース) が 1 回抽出され、ターゲットシンクに完全に同期されます。その後、継続的な変更モニタリングは、変更が発生したときに変更をキャプチャし、シンク内のデータを更新します。1 つの例外は、変更モニタリングが update
アクションではなく アクションcreate
と delete
アクションのみを同期することです。
制限
-
ユーザー削除アクションは同期されません。シンクに記録されたデータはシンクに残ります。ID マッピングがシンク設定で指定されている場合、更新によって既存のコンテンツが新しい変更で上書きされます。
-
次の APIs をサポートしていない古いバージョンの Atlassian ソフトウェアを使用するオンプレミスインスタンスは、このソースと互換性がありません。
-
Jira Search API バージョン 3
-
rest/api/3/search
-
rest/api/3/issue
-
-
Confluence
-
wiki/rest/api/content/search
-
wiki/rest/api/content
-
wiki/rest/api/settings/systemInfo
-
-
CloudWatch for Atlassian コネクタのメトリクス
タイプ: Jira コネクタメトリクス
ソース | メトリクス | メトリクスタイプ |
---|---|---|
acknowledgementSetSuccesses.count | Counter | 確認が有効になっている場合、このメトリクスは正常に同期されたチケットの数を提供します。 |
acknowledgementSetFailures.count | Counter | 確認が有効になっている場合、このメトリクスは同期に失敗したチケットの数を提供します。 |
crawlingTime.avg | Timer | すべての新しい変更をクロールするのにかかった時間。 |
ticketFetchLatency.avg | Timer | チケットフェッチ API レイテンシーの平均。 |
ticketFetchLatency.max | Timer | チケットフェッチ API の最大レイテンシー。 |
ticketsRequested.count | Counter | チケットフェッチリクエストの数。 |
ticketRequestedFailed.count | Counter | チケットフェッチリクエストの数が失敗しました。 |
ticketRequestedSuccess.count | Counter | 成功したチケットフェッチリクエストの数。 |
searchCallLatency.avg | Timer | API コールレイテンシーの平均を検索します。 |
searchCallLatency.max | Timer | API コールの最大レイテンシーを検索します。 |
searchResultsFound.count | Counter | 特定の検索呼び出しで見つかった項目の数。 |
searchRequestFailed.count | Counter | 検索 API コールの失敗数。 |
authFailures.count | Counter | 認証失敗数。 |
タイプ: Confluence コネクタメトリクス
ソース | メトリクス | メトリクスタイプ |
---|---|---|
acknowledgementSetSuccesses.count | Counter | 確認が有効になっている場合、このメトリクスは正常に同期されたページ数を提供します。 |
acknowledgementSetFailures.count | Counter | 確認が有効になっている場合、このメトリクスは同期に失敗したページ数を提供します。 |
crawlingTime.avg | Timer | すべての新しい変更をクロールするのにかかった時間。 |
pageFetchLatency.avg | Timer | API レイテンシー (平均) を取得するコンテンツ。 |
pageFetchLatency.max | Timer | API レイテンシー (最大) を取得するコンテンツ。 |
pagesRequested.count | Counter | コンテンツフェッチ API の呼び出しの数。 |
pageRequestFailed.count | Counter | コンテンツフェッチ API の失敗したリクエストの数。 |
pageRequestedSuccess.count | Counter | コンテンツフェッチ API の正常なリクエストの数。 |
searchCallLatency.avg | Timer | API コールレイテンシーの平均を検索します。 |
searchCallLatency.max | Timer | 検索 API コールの最大レイテンシー。 |
searchResultsFound.count | Counter | 特定の検索呼び出しで見つかった項目の数。 |
searchRequestsFailed.count | Counter | 検索 API コールの失敗数。 |
authFailures.count | Counter | 認証失敗数。 |