KB Management API User Guide
๋ณธ ๋ฌธ์๋ ์ง์ ๋ฒ ์ด์ค(KB) ์์คํ
์ ์ธ๋ถ ์คํฌ๋ฆฝํธ(giipAgentWin ๋ฑ)์์ ๊ด๋ฆฌํ๊ธฐ ์ํ API ์ฌ์ฉ๋ฒ์ ์๋ดํฉ๋๋ค.
1. ๊ฐ์
KB API(giipKb)๋ฅผ ํธ์ถํ์ฌ ํน์ ์๋ฒ(lssn) ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค(mdb_id)์ ๋ํ ์ฅ์ ๋์ ๋
ธํ์ฐ, ์ค์ ์ ๋ณด ๋ฑ์ ์ ์ฅํ๊ณ ์กฐํํ ์ ์์ต๋๋ค.
2. ๊ธฐ๋ณธ ์ ๋ณด
- Endpoint:
https://giipfaw.azurewebsites.net/api/giipKb - Authentication:
x-api-keyํค๋๋ฅผ ํตํด ์ธ์ ํ ํฐ(AK/SK)์ ์ ๋ฌํด์ผ ํฉ๋๋ค.
3. ๊ธฐ๋ฅ ์๋ด (Endpoints)
3.1 KB ๋ฑ๋ก (POST)
์๋ก์ด ์ง์ ๋ฌธ์๋ฅผ ๋ฑ๋กํฉ๋๋ค.
Payload (JSON):
{
"csn": 100,
"refType": "LSSN",
"lssn": 1234,
"title": "์๋ฒ ์ปค๋ ํ๋ ๊ฐ์ด๋",
"content": "# ๊ฐ์ด๋\n์ปค๋ ํ๋ผ๋ฏธํฐ ์์ ๋ฐฉ๋ฒ...",
"tags": "kernel,tuning,linux"
}
refType:LSSN(์๋ฒ),MDB(DB),GENERAL์ค ์ ํ
3.2 KB ์์ (PUT)
๊ธฐ์กด ์ง์ ๋ฌธ์๋ฅผ ์์ ํฉ๋๋ค.
Payload (JSON):
{
"kbSn": 42,
"title": "์์ ๋ ์ ๋ชฉ",
"content": "์
๋ฐ์ดํธ๋ ๋ด์ฉ...",
"tags": "linux,updated"
}
3.3 KB ์กฐํ (GET)
ํํฐ ์กฐ๊ฑด์ ๋ง๋ KB ๋ชฉ๋ก ๋๋ ์์ธ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค.
Query Parameters:
kbSn: ํน์ ๋ฌธ์ ์กฐํ ์ ์ฌ์ฉlssn: ํน์ ์๋ฒ ๊ด๋ จ ์ง์ ์กฐํmdb_id: ํน์ DB ๊ด๋ จ ์ง์ ์กฐํsearchKeyword: ๊ฒ์์ด
3.4 KB ์ญ์ (DELETE)
์ง์ ๋ฌธ์๋ฅผ ์ญ์ ํฉ๋๋ค.
Query Parameters:
kbSn: ์ญ์ ํ ๋ฌธ์ ๋ฒํธ
4. SK ๊ธฐ๋ฐ API ์ฌ์ฉ๋ฒ (giipAgent ๊ถ์ฅ)
giipAgent์ ๊ฐ์ด ์์ฃผํ ํ๋ก๊ทธ๋จ ๋๋ ์๋ํ ์คํฌ๋ฆฝํธ์์๋ ์ธ์
๋ง๋ฃ๊ฐ ์๋ Secret Key(SK)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค. SK ๊ธฐ๋ฐ ํธ์ถ์ ํตํฉ API ์๋ํฌ์ธํธ(giipApiSk3)๋ฅผ ํตํด ์ํ๋ฉ๋๋ค.
- Endpoint:
https://giipfaw.azurewebsites.net/api/giipApiSk3 - Method:
POST(form-urlencoded)
4.1 ์ฃผ์ ํ๋ผ๋ฏธํฐ
sk: ๋ฐ๊ธ๋ฐ์ Secret Keytext: ์คํํ ๋ช ๋ น์ด (KbCreate,KbUpdate,KbDelete,KbGet,KbList์ค ํ๋)jsondata: API์ ์ ๋ฌํ ์์ธ ๋ฐ์ดํฐ (JSON ๋ฌธ์์ด)
4.2 ํธ์ถ ์์ (PowerShell)
$sk = "YOUR_SECRET_KEY"
$url = "https://giipfaw.azurewebsites.net/api/giipApiSk3"
# KB ๋ฑ๋ก ์์
$body = @{
sk = $sk
text = "KbCreate jsondata"
jsondata = (@{
csn = 100
refType = "LSSN"
lssn = 1234
title = "Agent ์๋ ๋ฑ๋ก ์ง์"
content = "์์ด์ ํธ์์ ์๋์ผ๋ก ๋ถ์๋ ๋ด์ฉ์
๋๋ค."
tags = "agent,auto"
} | ConvertTo-Json -Compress)
}
$response = Invoke-RestMethod -Uri $url -Method Post -Body $body
Write-Host "KB Registered. kbSn: $($response.data[0].kbSn)"
5. giipAgentWin ์๋ํ ์์ (AK ๊ธฐ๋ฐ)
giipAgentWin ์คํฌ๋ฆฝํธ์์ ์๋ฃ๋ ์์
๋ก๊ทธ๋ฅผ AK๋ก ์๋ ๋ฑ๋กํ๋ ์์ ์
๋๋ค (๋ก๊ทธ์ธ ์ธ์
์ด ์ ํจํ ๊ฒฝ์ฐ).
$ak = "YOUR_SESSION_AK"
$url = "https://giipfaw.azurewebsites.net/api/giipKb"
$body = @{
title = "์๋ํ ๋ถ์ ๊ฒฐ๊ณผ - $(Get-Date -Format 'yyyyMMdd')"
content = "# ๋ถ์ ๊ฒฐ๊ณผ`nํ๊ฒฝ ์ ๊ฒ์ด ์๋ฃ๋์์ต๋๋ค."
refType = "LSSN"
lssn = 1201
csn = 0
tags = "auto,diag"
} | ConvertTo-Json -Compress
$headers = @{
"x-api-key" = $ak
"Content-Type" = "application/json"
}
$response = Invoke-RestMethod -Uri $url -Method Post -Headers $headers -Body $body
Write-Host "KB Registered. kbSn: $($response.kbSn)"
[!TIP]
giipv3ํ๋ก ํธ์๋์ ์๋ฒ/DB ์์ธ ํ์ด์ง์์ ์ด API๋ก ๋ฑ๋ก๋ ๋ด์ฉ์ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| 401 Unauthorized ์๋ต | x-api-key ํค๋์ ์ ํจํ AK/SK ํ ํฐ์ด ์๊ฑฐ๋ ์ธ์
์ด ๋ง๋ฃ๋จ | ํค๋์ ์ ํจํ ํ ํฐ์ ๋ฃ๊ฑฐ๋, ์ธ์
๋ง๋ฃ๊ฐ ์๋ SK ๊ธฐ๋ฐ giipApiSk3 ํธ์ถ๋ก ์ ํ |
| SK ํธ์ถ ์ ๋ช ๋ น์ด ์คํ๋์ง ์์ | text ํ๋๊ฐ KbCreate jsondata ํ์์ด ์๋ | text์ ๋ช
๋ น์ด(KbCreate/KbUpdate/KbDelete/KbGet/KbList)์ jsondata ํค์๋๋ฅผ ์ ํํ ๊ธฐ์ฌ |
| ๋ฑ๋กยท์์ ์ ๋ฐ์ดํฐ๊ฐ ๋๋ฝ๋จ | refType ๊ฐ์ด LSSN/MDB/GENERAL ์ด์ธ์ด๊ฑฐ๋ kbSn ๋๋ฝ | ํ์ฉ๋ refType ์ธ ๊ฐ ์ค ํ๋๋ง ์ฌ์ฉํ๊ณ , PUT/DELETE์๋ ์ ํจํ kbSn ์ง์ |
jsondata ํ์ฑ ์ค๋ฅ | content ๋ด ๊ฐํยท๋ฐ์ดํ๊ฐ ์ด์ค์ผ์ดํ๋์ง ์์ | ConvertTo-Json -Compress ๋ฑ์ผ๋ก JSON ๋ฌธ์์ด๋ก ์ง๋ ฌํํ ๋ค ์ ์ก |