개요
Plugin API는 Fess 의 플러그인(아티팩트)을 관리하기 위한 API입니다. 설치된 플러그인 및 설치 가능한 플러그인의 목록 조회, 플러그인 설치·삭제를 조작할 수 있습니다.
기본 URL
엔드포인트 목록
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | /installed | 설치된 플러그인 목록 조회 |
| GET | /available | 설치 가능한 플러그인 목록 조회 |
| POST | / | 플러그인 설치 |
| DELETE | / | 플러그인 삭제 |
플러그인 정보 필드
목록 조회 계열 엔드포인트(/installed 및 /available)가 반환하는 plugins 배열의 각 요소는 다음 필드를 가진 객체입니다.
| 필드 | 설명 |
|---|---|
type | 아티팩트의 종별 ID. |
id | {name}:{version} 형식의 식별자. |
name | 플러그인 이름. |
version | 플러그인 버전. |
url | 다운로드 원본 URL. |
참고
Fess 의 API 응답에서는 값이 null 인 필드는 출력되지 않습니다. 따라서 설치된 플러그인의 각 요소에는 url 이 포함되지 않습니다.
설치된 플러그인 목록 조회
설치된 플러그인의 목록을 반환합니다. 플러그인 디렉터리의 아티팩트를 종별로 탐색하여 이름 순으로 정렬하여 반환합니다.
요청
응답
plugins 에 플러그인 정보를 나타내는 객체의 배열이 저장됩니다. 각 객체의 필드는 플러그인 정보 필드 를 참조하십시오. 설치된 플러그인에서는 url 은 출력되지 않습니다.
설치 가능한 플러그인 목록 조회
설치 가능한 플러그인의 목록을 반환합니다. fess_config.properties 의 plugin.repositories 에 설정된 리포지터리에서 전체 종별 아티팩트를 가져옵니다. 가져온 결과는 일정 시간(기본값 5분) 캐시됩니다.
요청
응답
plugins 에 설치 가능한 플러그인 정보를 나타내는 객체의 배열이 저장됩니다. 각 객체의 필드는 플러그인 정보 필드 를 참조하십시오. 설치 가능한 플러그인에서는 다운로드 원본 url 이 포함됩니다.
플러그인 설치
지정한 이름과 버전의 플러그인을 설치합니다.
요청
요청 본문
필드 설명
| 필드 | 필수 | 설명 |
|---|---|---|
name | 예 | 플러그인 이름 (최대 100자) |
version | 예 | 플러그인 버전 (최대 100자) |
참고
name 과 version 은 /available 로 조회할 수 있는 설치 가능한 플러그인 중 하나와 일치해야 합니다. 일치하는 아티팩트가 존재하지 않는 경우 오류가 됩니다.
응답
요청이 수락되면 status 가 0 (OK)인 응답을 반환합니다.
name 또는 version 에 해당하는 아티팩트가 존재하지 않는 경우에는 status 가 1 (BAD_REQUEST)이 되고, message 에 invalid name or version 이 설정됩니다.
참고
설치 처리는 백그라운드에서 비동기로 실행됩니다. status: 0 응답은 요청이 수락되었음을 나타내는 것이며, 설치 완료를 보장하지는 않습니다. 설치 완료 후 동일한 이름으로 다른 버전의 플러그인이 설치되어 있는 경우에는 해당 플러그인이 자동으로 삭제됩니다. 다운로드나 설치에 실패한 경우에는 서버 로그에 기록되지만 API 응답에는 반영되지 않습니다.
플러그인 삭제
지정한 이름과 버전의 플러그인을 삭제합니다.
요청
요청 본문
필드 설명
| 필드 | 필수 | 설명 |
|---|---|---|
name | 예 | 플러그인 이름 (최대 100자) |
version | 아니오 | 플러그인 버전 (최대 100자). 삭제 대상을 고유하게 특정하기 위해 지정하는 것을 권장합니다. |
응답
요청이 수락되면 status 가 0 (OK)인 응답을 반환합니다.
참고
삭제 처리는 백그라운드에서 비동기로 실행됩니다. status: 0 응답은 요청이 수락되었음을 나타내는 것으로, 해당 플러그인이 존재하는지 또는 삭제가 성공했는지는 판정하지 않습니다. 삭제에 실패한 경우(대상 파일이 존재하지 않는 경우 등)에는 서버 로그에 기록되지만 API 응답에는 반영되지 않습니다.
사용 예
설치된 플러그인 목록 조회
플러그인 설치
플러그인 삭제
참고 정보
Admin API 개요 - Admin API 개요