Skip to main content

GitHub ์•ฑ ์‚ฌ์šฉ ์ •๋ณด

GitHub App์ด(๊ฐ€) ๋ฌด์—‡์ด๋ฉฐ GitHub App์„(๋ฅผ) ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

GitHub Apps ์ •๋ณด

GitHub Apps์€(๋Š”) GitHub์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. GitHub Apps์€(๋Š”) GitHub์—์„œ ๋ฌธ์ œ ์—ด๊ธฐ, ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฃผ์„ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ GitHub ์™ธ๋ถ€์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด GitHub App์€(๋Š”) GitHub์—์„œ ๋ฌธ์ œ๊ฐ€ ์—ด๋ฆฌ๋ฉด Slack์— ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub Apps ์ฐพ๊ธฐ

GitHub Marketplace์—์„œ GitHub Apps์„(๋ฅผ) ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ณ„์ •์—๋Š” ํƒ€์‚ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋‚ด ์กฐ์ง์ด ์†Œ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ

GitHub Marketplace์˜ ์•ฑ์€ ํ˜„์žฌ GHE.com์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ณ ์œ ์˜ GitHub App์„(๋ฅผ) ๋นŒ๋“œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub ์•ฑ ๋งŒ๋“ค๊ธฐ ์ •๋ณด์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

GitHub Apps ์‚ฌ์šฉ

GitHub App์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ, ์‚ฌ์šฉ์ž, ์กฐ์ง ๊ณ„์ •์— ์•ฑ์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์„ ์„ค์น˜ํ•  ๋•Œ ์‚ฌ์šฉ์ž ๊ณ„์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ์•ฑ์— ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ๊ถŒํ•œ์€ ์•ฑ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. GitHub์€(๋Š”) ์•ฑ์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ์•ฑ์—์„œ ์š”์ฒญํ•œ ๊ถŒํ•œ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์กฐ์ง ๋˜๋Š” ์‚ฌ์šฉ์ž ๊ณ„์ •์— ์•ฑ์„ ์„ค์น˜ํ•  ๋•Œ ์•ฑ์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ณ„์ •์— ์„ค์น˜๋œ ์•ฑ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ž์ฒด๋งŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์กฐ์ง ๋˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ถŒํ•œ์€ ๋ถ€์—ฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ฑ์— ์ถ”๊ฐ€ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์•ฑ์—์„œ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐœ์ธ ๊ณ„์ •์„ ์œ„ํ•ด GitHub ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ GitHub ์•ฑ ์„ค์น˜, ์กฐ์ง์šฉ GitHub ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ GitHub ์•ฑ ์„ค์น˜, ํƒ€์‚ฌ์—์„œ GitHub ์•ฑ ์„ค์น˜ ๋ฐ ์ž์‹ ๋งŒ์˜ GitHub ์•ฑ ์„ค์น˜์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๋˜ํ•œ ID๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์กฐ์น˜๋ฅผ ์ทจํ•˜๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด GitHub App์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฑ์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์•ฑ์—์„œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ผ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์•ฑ์ด ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ์•ฑ์ด ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ์œ ํ•œ ๊ณ„์ •์— ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์— ์˜ฌ๋ฐ”๋ฅธ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ๊ฒฝ์šฐ, ์•ฑ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฆฌ์†Œ์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub ์•ฑ์— ๊ถŒํ•œ ๋ถ€์—ฌ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

๊ฒฝ์šฐ์— ๋”ฐ๋ผ GitHub App์—์„œ ์—…๋ฐ์ดํŠธ๋œ ๊ถŒํ•œ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ GitHub์€(๋Š”) ์•Œ๋ฆผ์œผ๋กœ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์•ฑ์ด ๊ณ„์† ์ž‘๋™ํ•˜๋ ค๋ฉด ์—…๋ฐ์ดํŠธ๋œ ๊ถŒํ•œ์„ ๊ฒ€ํ† ํ•˜๊ณ  ์Šน์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub ์•ฑ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋œ ๊ถŒํ•œ ์Šน์ธ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

GitHub App์„(๋ฅผ) ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ธฐ ์ „์— ์•ฑ ๊ฐœ๋ฐœ์ž๋ฅผ ์‹ ๋ขฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์•ฑ์„ ์ผ์‹œ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์•ฑ์˜ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์ฒ ํšŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ค์น˜๋œ GitHub ์•ฑ ๊ฒ€ํ†  ๋ฐ ์ˆ˜์ • ๋ฐ GitHub ์•ฑ์˜ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ฒ€ํ†  ๋ฐ ์ทจ์†Œ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

GitHub Apps ๋ฐ OAuth apps

GitHub์€(๋Š”) OAuth apps๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. GitHub Apps์™€(๊ณผ) ๋‹ฌ๋ฆฌ OAuth app์„(๋ฅผ) ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ œ์–ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

OAuth apps ๋ฐ GitHub Apps ๋ชจ๋‘ OAuth 2.0์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

OAuth apps์€(๋Š”) ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•ด์„œ๋งŒ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ GitHub Apps์€(๋Š”) ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•ด ์ž‘๋™ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž์™€ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ GitHub ์•ฑ๊ณผ OAuth ์•ฑ ๊ฐ„์˜ ์ฐจ์ด์  ๋ฐ OAuth ์•ฑ ๊ถŒํ•œ ๋ถ€์—ฌ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.