概要
Atlassianコネクタは、Atlassian製品(Jira、Confluence)からデータを取得して Fess のインデックスに登録する機能を提供します。
この機能には fess-ds-atlassian プラグインが必要です。
対応製品
Jira(Cloud / Server / Data Center)
Confluence(Cloud / Server / Data Center)
前提条件
プラグインのインストールが必要です
Atlassian製品への適切な認証情報が必要です
Cloud版の場合はOAuth 2.0、Server版の場合はOAuth 1.0aまたはBasic認証が利用可能です
プラグインのインストール
管理画面の「システム」→「プラグイン」からインストールします:
Maven Centralから
fess-ds-atlassian-X.X.X.jarをダウンロードプラグイン管理画面からアップロードしてインストール
Fess を再起動
設定方法
管理画面から「クローラー」→「データストア」→「新規作成」で設定します。
基本設定
| 項目 | 設定例 |
|---|---|
| 名前 | Company Jira/Confluence |
| ハンドラ名 | JiraDataStore または ConfluenceDataStore |
| 有効 | オン |
パラメーター設定
Cloud版(OAuth 2.0)の例:
home=https://yourcompany.atlassian.net
is_cloud=true
auth_type=oauth2
oauth2.client_id=your_client_id
oauth2.client_secret=your_client_secret
oauth2.access_token=your_access_token
oauth2.refresh_token=your_refresh_token
Server版(Basic認証)の例:
home=https://jira.yourcompany.com
is_cloud=false
auth_type=basic
basic.username=admin
basic.password=your_password
Server版(OAuth 1.0a)の例:
home=https://jira.yourcompany.com
is_cloud=false
auth_type=oauth
oauth.consumer_key=OauthKey
oauth.private_key=-----BEGIN RSA PRIVATE KEY-----\nMIIE...=\n-----END RSA PRIVATE KEY-----
oauth.secret=verification_code
oauth.access_token=your_access_token
パラメーター一覧
| パラメーター | 必須 | 説明 |
|---|---|---|
home | はい | AtlassianインスタンスのURL |
is_cloud | はい | Cloud版の場合は true、Server版の場合は false |
auth_type | はい | 認証タイプ: oauth、oauth2、basic |
oauth.consumer_key | OAuth 1.0aの場合 | コンシューマーキー(通常は OauthKey) |
oauth.private_key | OAuth 1.0aの場合 | RSA秘密鍵(PEM形式) |
oauth.secret | OAuth 1.0aの場合 | 検証コード |
oauth.access_token | OAuth 1.0aの場合 | アクセストークン |
oauth2.client_id | OAuth 2.0の場合 | クライアントID |
oauth2.client_secret | OAuth 2.0の場合 | クライアントシークレット |
oauth2.access_token | OAuth 2.0の場合 | アクセストークン |
oauth2.refresh_token | いいえ | リフレッシュトークン(OAuth 2.0) |
oauth2.token_url | いいえ | トークンURL(OAuth 2.0、デフォルト値あり) |
basic.username | Basic認証の場合 | ユーザー名 |
basic.password | Basic認証の場合 | パスワード |
issue.jql | いいえ | JQL(Jiraのみ、高度な検索条件) |
スクリプト設定
Jiraの場合
url=issue.view_url
title=issue.summary
content=issue.description + "\n\n" + issue.comments
last_modified=issue.last_modified
利用可能なフィールド:
issue.view_url- 課題のURLissue.summary- 課題のサマリーissue.description- 課題の説明issue.comments- 課題のコメントissue.last_modified- 最終更新日時
Confluenceの場合
url=content.view_url
title=content.title
content=content.body + "\n\n" + content.comments
last_modified=content.last_modified
利用可能なフィールド:
content.view_url- ページのURLcontent.title- ページのタイトルcontent.body- ページの本文content.comments- ページのコメントcontent.last_modified- 最終更新日時
OAuth 2.0認証の設定
Cloud版の場合(推奨)
Atlassian Developer Consoleでアプリケーションを作成
OAuth 2.0認証情報を取得
必要なスコープを設定:
Jira:
read:jira-work、read:jira-userConfluence:
read:confluence-content.all、read:confluence-user
アクセストークンとリフレッシュトークンを取得
OAuth 1.0a認証の設定
Server版の場合
JiraまたはConfluenceでApplication Linkを作成
RSA鍵ペアを生成:
openssl genrsa -out private_key.pem 2048 openssl rsa -in private_key.pem -pubout -out public_key.pem
公開鍵をApplication Linkに登録
秘密鍵をパラメーターに設定
Basic認証の設定
Server版のシンプルな設定
警告
Basic認証はセキュリティ上推奨されません。可能な限りOAuth認証を使用してください。
Basic認証を使用する場合:
管理者権限を持つユーザーアカウントを用意
ユーザー名とパスワードをパラメーターに設定
HTTPSを使用してセキュアな接続を確保
JQLによる高度な検索
Jiraの課題をJQLで絞り込む
特定の条件に合致する課題のみをクロール:
# 特定のプロジェクトのみ
issue.jql=project = "MYPROJECT"
# 特定のステータスを除外
issue.jql=project = "MYPROJECT" AND status != "Closed"
# 期間を指定
issue.jql=updated >= -30d
# 複数条件の組み合わせ
issue.jql=project IN ("PROJ1", "PROJ2") AND updated >= -90d AND status != "Done"
JQLの詳細は Atlassian JQLドキュメント を参照してください。
使用例
Jira Cloudのクロール
パラメーター:
home=https://yourcompany.atlassian.net
is_cloud=true
auth_type=oauth2
oauth2.client_id=Abc123DefGhi456
oauth2.client_secret=xyz789uvw456rst123
oauth2.access_token=eyJhbGciOiJIUzI1...
oauth2.refresh_token=def456ghi789jkl012
issue.jql=project = "SUPPORT" AND status != "Closed"
スクリプト:
url=issue.view_url
title="[" + issue.key + "] " + issue.summary
content=issue.description + "\n\nコメント:\n" + issue.comments
last_modified=issue.last_modified
Confluence Serverのクロール
パラメーター:
home=https://wiki.yourcompany.com
is_cloud=false
auth_type=basic
basic.username=crawler_user
basic.password=secure_password
スクリプト:
url=content.view_url
title=content.title
content=content.body + "\n\nコメント:\n" + content.comments
last_modified=content.last_modified
digest=content.title
トラブルシューティング
認証エラー
症状: 401 Unauthorized または 403 Forbidden
確認事項:
認証情報が正しいか確認
Cloud版の場合、適切なスコープが設定されているか確認
Server版の場合、ユーザーに適切な権限があるか確認
OAuth 2.0の場合、トークンの有効期限を確認
接続エラー
症状: Connection refused または接続タイムアウト
確認事項:
homeURLが正しいか確認ファイアウォール設定を確認
Atlassianインスタンスが稼働しているか確認
is_cloudパラメーターが正しく設定されているか確認
データが取得できない
症状: クロールは成功するがドキュメントが0件
確認事項:
JQLで絞り込みすぎていないか確認
ユーザーに読み取り権限があるプロジェクト/スペースか確認
スクリプト設定が正しいか確認
ログでエラーが発生していないか確認
OAuth 2.0トークンの更新
症状: しばらくすると認証エラーが発生
解決方法:
OAuth 2.0のアクセストークンは有効期限があります。リフレッシュトークンを設定することで自動更新が可能です:
oauth2.refresh_token=your_refresh_token
参考情報
データストアコネクタの概要 - データストアコネクタ概要
データベースコネクタ - データベースコネクタ
データストアクロール - データストア設定ガイド