github api ์ฌ์ฉ๋ฐฉ๋ฒ
github ์์๋ ๋ ํ์งํ ๋ฆฌ์ ์ ๋ฐ์ ์ธ ์ํฉ์ ๋ํด ๋ค์ํ API๋ฅผ ์ ๊ณตํด์ฃผ๊ณ ์๋ค. ์ด๋ฒ์๋ ๊ทธ API๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ณ ์ ํ๋ค.
Personal access tokens ๋ฐ๊ธ
์ฐ์ ์ ์์ ์ธ API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Personal access tokens
๋ฅผ ๋ฐ๊ธ๋ฐ์์ผ ํ๋ค. github ์ด๊ธฐํ๋ฉด > ์ฐ์ธก์๋จ ํ๋กํ์ฌ์ง ํด๋ฆญ > setting > Personal access tokens ์ ๋ค์ด๊ฐ ํ ํฐ์ ์์ฑ์ ํ๋ค.
ํด๋น ํ ํฐ์ ํ์ฉ๋ฒ์๋ฅผ ์ค์ ํ๋ค ์์ฑ์ ํ๋ฉด ๋ง๋ค์ด ์ง๋๋ฐ ์ฌ๊ธฐ์ ๋ฐ๊ธ๋๋ ๋ฌธ์์ด์ ๋ฐ๋ก ๋ณด๊ดํ๋๊ฒ ์ข๋ค. (๋์ค์ ๋ค์ ํ์ธํ๋ ค๋ฉด ์๋ก ์ฌ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ง๊ณ ๋ ์๊ธฐ ๋๋ฌธ์ ํ๋ฒ ๋ง๋ค๋ ๋ฉ๋ชจํด ๋๋๊ฒ ์ข๋ค.)
์๋์ ๊ฐ์ด ์์ฑ์๋ฃ.
API ์ฌ์ฉ๋ฐฉ๋ฒ
๊ถํ์ด ์๋ Repository ์ ๋ด์ฉ์ ํ์ธํ ์ ์๋ฏ์ด github์์ ์ ๊ณตํ๋ API๋ํ ๊ถํ์ด ์๋ Repository์ ๋ํด์๋ง API๋ฅผ ์ ๊ณตํ๋ค. ์์์ ๋ฐ๊ธํ token ์ ๊ถํ ์ฒดํฌํ ๋ ์ฌ์ฉํ๋๋ฐ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์์ ์๊ฒ ์ผ๋ ๋๋ ๊ฐ๋จํ๊ฒ ํค๋์ ํฌํจ์์ผ์ ์ผ๋ฐ GET ํธ์ถ์ ํ๋ ๋ฐฉ์์ผ๋ก ํ์๋ค. ์๋์ฐ ํ๊ฒฝ์์๋ ํค๋ ์
ํ
ํ๊ณ ํธ์ถํ๋๊ฒ ์กฐ๊ธ ์ด๋ ค์ธ์ ์์ผ๋ ์ด๋ฌํ ๋ถ๋ถ์ ์ค์ ํ ์ ์๋ Postman
์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ํธ์ถ์ ํด๋ณธ๋ค.
์๋์ฒ๋ผ url์ https://api.github.com/
์ผ๋ก ์ค์ ํ๊ณ Headers
ํ๋ผ๋ฏธํฐ์ Authorization
๋ผ๋ key์ value๋ฅผ ์์์ ๋ฐ๊ธ๋ฐ์๋ token์ ์ด์ฉํ์ฌ token abcd~~
์์ผ๋ก ์
๋ ฅํด์ค๋ค์ send
๋ฒํผ์ ๋๋ฌ์ฃผ๋ฉด ์๋ต์ ๋ฐ์์๊ฐ ์๋๋ฐ, ์๋ ๊ทธ๋ฆผ์ ์ ๊ณตํ๋ api์ ๋ชจ๋ url์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์๋์ ์๋ ์์์ ํ์ธ๋ api url์ ํ์ฉํ์ฌ ๋ด๊ฐ ๊ถํ์ด ์๋ ๋ ํ์งํ ๋ฆฌ ๋ด์์ ํ์ธํ ์์๋ ์ ๋ณด์ ๋ํ API๋ฅผ ํธ์ถํด๋ณด์๋ค.
API ํธ์ถ์ ๊ฐ์ฅ ๋ณดํธํ๋์ด์๋(?) ์คํฉ์ธ JSON
์ผ๋ก ์๋ต์ด ๋ด๋ ค์ค๊ธฐ๋๋ฌธ์ ์ด๋ ํ ํ๊ฒฝ์์๋ ์ถฉ๋ถํ ํ์ฉํ ์ ์์๊ฒ์ด๋ผ ์๊ฐํ๋ค.
๋๋ ๊ฐ์ธ์ ์ผ๋ก ํ ๋ด์์ ํ๋์ Organizations
๋ด์ ์ฌ๋ฌ Repository
๊ฐ ์๋๋ฐ ๊ฐ๊ฐ์ PullRequest
์ ๋ํด ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ํด์ผํ๋ ์ํฉ์์ ์ผ์ผํ ๋ค ์ฐพ์๋ณด๊ธฐ ๊ท์ฐฎ์ github-api๋ฅผ ํ์ฉํด open๋ PullRequest
๊ฐ ์์ผ๋ฉด ์๋ฆผ์ ์ฃผ๋ ๊ฑธ ๋ง๋ค์ด ๋ณด์๋ค.
Buy me a coffee