개요
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) 예:
Server 버전(Basic 인증) 예:
Server 버전(OAuth 1.0a) 예:
파라미터 목록
| 파라미터 | 필수 | 설명 |
|---|---|---|
home | 예 | Atlassian 인스턴스의 URL |
is_cloud | 아니요 | Cloud의 경우 true, Server의 경우 false (기본값: true). OAuth 2.0 인증 시 엔드포인트 선택에만 사용되며, Basic 인증 및 OAuth 1.0a 인증에서는 무시됩니다. |
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, 기본값: https://auth.atlassian.com/oauth/token) |
basic.username | Basic 인증의 경우 | 사용자명 |
basic.password | Basic 인증의 경우 | 비밀번호 |
issue.jql | 아니요 | JQL (Jira만, 고급 검색 조건). 지정하지 않으면 모든 이슈 (created is not empty) 가 대상이 됩니다. |
issue_max_results | 아니요 | Jira API 요청당 최대 결과 수 (기본값: 50, Jira만) |
content_limit | 아니요 | Confluence API 요청당 최대 콘텐츠 수 (기본값: 25, Confluence만) |
ignore_error | 아니요 | 오류 시 처리를 계속할지 여부 (기본값: true) |
include_pattern | 아니요 | URL 포함 패턴 (정규식) |
exclude_pattern | 아니요 | URL 제외 패턴 (정규식) |
number_of_threads | 아니요 | 병렬 처리 스레드 수 (기본값: 1) |
proxy_host | 아니요 | HTTP 프록시 호스트명 |
proxy_port | 아니요 | HTTP 프록시 포트 번호 |
connection_timeout | 아니요 | HTTP 연결 타임아웃 (밀리초) |
read_timeout | 아니요 | HTTP 읽기 타임아웃 (밀리초) |
readInterval | 아니요 | 각 문서 처리 사이의 대기 시간 (밀리초, 기본값: 0) |
스크립트 설정
Jira의 경우
사용 가능한 필드:
issue.view_url- 이슈의 URLissue.summary- 이슈 요약issue.description- 이슈 설명issue.comments- 이슈 코멘트issue.last_modified- 최종 업데이트 일시
Confluence의 경우
사용 가능한 필드:
content.view_url- 페이지 URLcontent.title- 페이지 제목content.body- 페이지 본문content.comments- 페이지 코멘트content.last_modified- 최종 업데이트 일시
참고
Confluence 커넥터는 일반 페이지(page)와 블로그 게시물(blogpost) 모두를 가져옵니다.
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 키 쌍 생성:
공개키를 Application Link에 등록
비밀키를 파라미터에 설정
Basic 인증 설정
Server 버전의 간단한 설정
경고
Basic 인증은 보안상 권장되지 않습니다. 가능한 한 OAuth 인증을 사용하세요.
Basic 인증을 사용할 경우:
관리자 권한을 가진 사용자 계정 준비
사용자명과 비밀번호를 파라미터에 설정
HTTPS를 사용하여 보안 연결 확보
JQL을 통한 고급 검색
Jira 이슈를 JQL로 필터링
특정 조건에 맞는 이슈만 크롤링:
JQL 자세한 내용은 Atlassian JQL 문서 를 참조하세요.
사용 예
Jira Cloud 크롤링
파라미터:
스크립트:
Confluence Server 크롤링
파라미터:
스크립트:
문제 해결
인증 오류
증상: 401 Unauthorized 또는 403 Forbidden
확인 사항:
인증 정보가 올바른지 확인
Cloud 버전의 경우, 적절한 스코프가 설정되어 있는지 확인
Server 버전의 경우, 사용자에게 적절한 권한이 있는지 확인
OAuth 2.0의 경우, 토큰 유효 기간 확인
연결 오류
증상: Connection refused 또는 연결 타임아웃
확인 사항:
homeURL이 올바른지 확인방화벽 설정 확인
Atlassian 인스턴스가 가동 중인지 확인
is_cloud파라미터가 올바르게 설정되어 있는지 확인
데이터를 가져올 수 없음
증상: 크롤링은 성공하지만 문서가 0건
확인 사항:
JQL로 너무 많이 필터링하지 않았는지 확인
사용자에게 읽기 권한이 있는 프로젝트/스페이스인지 확인
스크립트 설정이 올바른지 확인
로그에서 오류가 발생하지 않았는지 확인
OAuth 2.0 토큰 갱신
증상: 얼마 후 인증 오류 발생
해결 방법:
OAuth 2.0의 액세스 토큰은 유효 기간이 있습니다. 리프레시 토큰을 설정하면 자동 갱신이 가능합니다:
토큰이 갱신되면 새로운 액세스 토큰과 리프레시 토큰이 자동으로 데이터스토어 설정에 저장되므로, 이후 크롤링에서는 갱신된 토큰이 사용됩니다 (수동 업데이트 불필요).
참고 정보
데이터스토어 커넥터 개요 - 데이터스토어 커넥터 개요
데이터베이스 커넥터 - 데이터베이스 커넥터
데이터 저장소 크롤링 - 데이터스토어 설정 가이드