개요
Plugin API는 Fess 의 플러그인을 관리하기 위한 API입니다. 플러그인의 설치, 활성화, 비활성화, 삭제 등을 조작할 수 있습니다.
기본 URL
/api/admin/plugin
엔드포인트 목록
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | / | 플러그인 목록 조회 |
| POST | /install | 플러그인 설치 |
| DELETE | /{id} | 플러그인 삭제 |
플러그인 목록 조회
요청
GET /api/admin/plugin
응답
{
"response": {
"status": 0,
"plugins": [
{
"id": "analysis-kuromoji",
"name": "Japanese (kuromoji) Analysis Plugin",
"version": "2.11.0",
"description": "Japanese language analysis plugin",
"enabled": true,
"installed": true
},
{
"id": "analysis-icu",
"name": "ICU Analysis Plugin",
"version": "2.11.0",
"description": "Unicode normalization and collation",
"enabled": true,
"installed": true
}
],
"total": 2
}
}
응답 필드
| 필드 | 설명 |
|---|---|
id | 플러그인 ID |
name | 플러그인 이름 |
version | 플러그인 버전 |
description | 플러그인 설명 |
enabled | 활성화 상태 |
installed | 설치 상태 |
플러그인 설치
요청
POST /api/admin/plugin/install
Content-Type: application/json
요청 본문
{
"url": "https://example.com/plugins/my-plugin-1.0.0.zip"
}
필드 설명
| 필드 | 필수 | 설명 |
|---|---|---|
url | 예 | 플러그인 다운로드 URL |
응답
{
"response": {
"status": 0,
"message": "Plugin installed successfully. Restart required.",
"pluginId": "my-plugin"
}
}
플러그인 삭제
요청
DELETE /api/admin/plugin/{id}
응답
{
"response": {
"status": 0,
"message": "Plugin deleted successfully. Restart required."
}
}
사용 예
플러그인 목록 조회
curl -X GET "http://localhost:8080/api/admin/plugin" \
-H "Authorization: Bearer YOUR_TOKEN"
플러그인 설치
curl -X POST "http://localhost:8080/api/admin/plugin/install" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"url": "https://artifacts.opensearch.org/releases/plugins/analysis-icu/2.11.0/analysis-icu-2.11.0.zip"
}'
플러그인 삭제
curl -X DELETE "http://localhost:8080/api/admin/plugin/analysis-icu" \
-H "Authorization: Bearer YOUR_TOKEN"
주의 사항
플러그인 설치 또는 삭제 후에는 Fess 재시작이 필요합니다
호환되지 않는 플러그인을 설치하면 Fess가 시작되지 않을 수 있습니다
플러그인 삭제는 신중하게 수행하세요. 의존 관계가 있는 경우 시스템에 영향을 줄 수 있습니다
참고 정보
Admin API 개요 - Admin API 개요
SystemInfo API - 시스템 정보 API
플러그인 - 플러그인 관리 가이드