giip
SES Proposal
1 min read

GitHub Actions ๊ด€๋ฆฌ API ๊ฐ€์ด๋“œ (v1.2)

GIIP ํ”Œ๋žซํผ์€ GitHub ์ €์žฅ์†Œ์˜ ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰ ์ด๋ ฅ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”Œ GitHub ์—ฐ๋™ ๊ธฐ๋Šฅ ํŽ˜์ด์ง€๋กœ ์ด๋™ โ†’

๐Ÿ“‹ ๊ฐœ์š”

GitHub Actions ๊ด€๋ฆฌ API๋Š” ๋“ฑ๋ก๋œ ์ €์žฅ์†Œ์˜ ์ตœ์‹  ์›Œํฌํ”Œ๋กœ์šฐ ์ƒํƒœ๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ณ , ์žฅ์•  ๋ฐœ์ƒ ์‹œ GIIP ์ฝ˜์†”์—์„œ ์ฆ‰์‹œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ” ์ธ์ฆ ๋ฐ ๋ณด์•ˆ

  • Header: ๊ณตํ†ต x-giip-ak / x-giip-sk ํ—ค๋” ํ•„์ˆ˜
  • Token: githubToken์€ GitHub Personal Access Token(Classic ๋˜๋Š” Fine-grained)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ก API ์ƒ์„ธ (Sk3)

1. GitHub ์„ค์ • ๋ชฉ๋ก ์กฐํšŒ (GitHubConfigsList)

  • ๋ช…๋ น: text=GitHubConfigsList
  • jsondata: {"csn": 123} (์„ ํƒ ์‚ฌํ•ญ)
  • ์„ค๋ช…: ํ”„๋กœ์ ํŠธ๋ณ„ GitHub ์—ฐ๋™ ์„ค์ • ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

2. GitHub ์„ค์ • ์ƒ์„ฑ (GitHubConfigCreate)

  • ๋ช…๋ น: text=GitHubConfigCreate
  • jsondata:
{
  "csn": 123,
  "configName": "Backend Repo",
  "repoOwner": "org-name-or-user",
  "repoName": "repo-name",
  "githubToken": "ghp_..."
}

3. ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰ ์ด๋ ฅ ์กฐํšŒ (GitHubWorkflowRunsList)

  • ๋ช…๋ น: text=GitHubWorkflowRunsList
  • jsondata: {"gcId": 123, "perPage": 20, "status": "all"}
  • ์„ค๋ช…: ํŠน์ • ์—ฐ๋™ ์„ค์ •(gcId)์— ๋Œ€ํ•œ GitHub Actions ์‹คํ–‰ ์ด๋ ฅ์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ›ก๏ธ Sk3(๊ณ ์„ฑ๋Šฅ ๋กœ๊น…) ํ™œ์šฉ

GitHub Personal Access Token๊ณผ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋‹ค๋ฃจ๋Š” ์„ค์ • ์ƒ์„ฑ ๋ฐ ์›Œํฌํ”Œ๋กœ์šฐ ๋™๊ธฐํ™” ์ž‘์—… ์‹œ giipApiSk3 ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ์—”๋“œํฌ์ธํŠธ: https://giipfaw.azurewebsites.net/api/giipApiSk3
  • ๋ณด์•ˆ ์žฅ์ : githubToken ์œ ์ถœ ์‹œ๋„๋‚˜ ๋น„์ •์ƒ์ ์ธ ํ˜ธ์ถœ ํŒจํ„ด์„ ์ž๋™์œผ๋กœ ๊ธฐ๋กํ•˜๊ณ , ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ์ƒ์„ธํ•œ ์ปจํ…์ŠคํŠธ(Stacktrace)๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์‹ ์†ํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ™œ์šฉ ํŒ: text ๋ช…๋ น๊ณผ jsondata์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์น˜ํ™˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์šฐ ์กฐํšŒ ์กฐ๊ฑด(perPage, status ๋“ฑ)์„ ์ฝ”๋“œ ์ˆ˜์ค€์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜์‹ญ์‹œ์˜ค.

๋ฌธ์ œ ํ•ด๊ฒฐ

์ฆ์ƒ์›์ธํ•ด๊ฒฐ
401 ์ธ์ฆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜ํ™˜๋จ๊ณตํ†ต x-giip-ak / x-giip-sk ํ—ค๋” ๋ˆ„๋ฝ๋‘ ์ธ์ฆ ํ—ค๋”๋ฅผ ๋ชจ๋‘ ํฌํ•จํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰ ์ด๋ ฅ์ด ๋น„์–ด ์žˆ์ŒgcId ๋ˆ„๋ฝยท์˜ค๋ฅ˜ ๋˜๋Š” githubToken ๊ถŒํ•œ ๋ถ€์กฑ์œ ํšจํ•œ gcId๋ฅผ ์ง€์ •ํ•˜๊ณ  PAT์— Actions/repo ์ฝ๊ธฐ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
GitHubConfigCreate๊ฐ€ ์‹คํŒจํ•จrepoOwner/repoName ์˜คํƒ€ ๋˜๋Š” githubToken ๋งŒ๋ฃŒยท๋ฌดํšจ์ €์žฅ์†Œ ์ •๋ณด์™€ ์œ ํšจํ•œ PAT(Classic/Fine-grained)๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
RstVal ์˜ค๋ฅ˜ ๋˜๋Š” jsondata ํŒŒ์‹ฑ ์‹คํŒจjsondata JSON ์ด์Šค์ผ€์ดํ”„/์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜jsondata๋ฅผ ์œ ํšจํ•œ JSON์œผ๋กœ ์ „์†กํ•˜๊ณ  API ๊ฒฐ๊ณผ ์ฝ”๋“œ ๊ฐ€์ด๋“œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „: 1.3 ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-04-10 ์†Œ์Šค ํŒŒ์ผ: giipv3/public/help/api-github.ko.md


๊ด€๋ จ ๋ฌธ์„œ: