โ Abstarct
์นํ
(Webhook)์ ์น ์๋น์ค ๊ฐ์ ์ค์๊ฐ ์ํธ ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์๋ํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
์ด ๊ธ์์๋ ์นํ
์ ๊ฐ๋
๊ณผ ์๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ ์์๋ฅผ ์๊ฐํฉ๋๋ค.
๐ ์นํ (Webhook)์ด๋?
์นํ
(Webhook)์ ํ ์์คํ
์์ ๋ค๋ฅธ ์์คํ
์ผ๋ก ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ์๋ํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์นํ
์ ์ฃผ๋ก ์น ์๋น์ค ๊ฐ์ ์ค์๊ฐ ์ํธ ์์ฉ์ ์ฌ์ฉ๋๋ฉฐ, ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ์ญํ ์ ํฉ๋๋ค.
์นํ ์ ์๋ฆฌ
์นํ
์ ์ผ๋ฐ์ ์ผ๋ก HTTP POST ์์ฒญ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉฐ, ์ด๋ฅผ ๋ฐ๋ ์์คํ
์ ์นํ
์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์ ์ ํ ์๋ต์ ๋ฐํํฉ๋๋ค. ์ด ๋ฐฉ์์ผ๋ก ์น ์๋น์ค ๊ฐ์ ์ค์๊ฐ ์ํธ ์์ฉ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์นํ ์ฌ์ฉ ์์
์จ๋ผ์ธ ์ผํ๋ชฐ์์ ๊ฒฐ์ ๊ฐ ์๋ฃ๋๋ฉด ๊ฒฐ์ ์์คํ
์์ ๊ฒฐ์ ์ ๋ณด๋ฅผ ์จ๋ผ์ธ ์ผํ๋ชฐ ์์คํ
์ผ๋ก ์ ๋ฌํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ ์นํ
์ ์ฌ์ฉํ๋ฉด ๊ฒฐ์ ์์คํ
์์ ์จ๋ผ์ธ ์ผํ๋ชฐ ์์คํ
์ผ๋ก ๊ฒฐ์ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ ๋ฌํ ์ ์์ต๋๋ค.
๋ํ, GitHub์ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์์๋ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ๋ฉด ์นํ
์ ์ฌ์ฉํ์ฌ ์ง์์ ํตํฉ(CI) ์๋น์ค์ ์๋ฆด ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด CI ์๋น์ค๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ๋น๋ํ๊ณ ํ
์คํธํ ์ ์์ต๋๋ค.

์นํ ๊ตฌํ ์ ์ฃผ์ ์ฌํญ
์นํ
์ ๊ตฌํํ ๋ ๋ช ๊ฐ์ง ์ฃผ์ ์ฌํญ์ด ์์ต๋๋ค.
- ๋ณด์: ์นํ
์ ์๊ฒฉ ์๋ฒ์์ ์ํธ ์์ฉ์ด๊ธฐ ๋๋ฌธ์ ๋ณด์์ด ์ค์ํฉ๋๋ค. ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ๋ฅผ ํตํด ๋ฐ์ดํฐ์ ๋ฌด๋จ ์ ๊ทผ์ ๋ฐฉ์งํด์ผ ํฉ๋๋ค.
- ์ค๋ฅ ์ฒ๋ฆฌ: ์นํ
์์ฒญ์ด ์คํจํ ๊ฒฝ์ฐ, ์ฌ์๋ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ์ฌ ์นํ
์ด ์์ ์ ์ผ๋ก ๋์ํ๋๋ก ํด์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ: ์นํ
์์ฒญ์ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํ๋ฏ๋ก, ๋ฐ๋ ์์คํ
์ ๋น ๋ฅด๊ฒ ์๋ตํ ์ ์๋๋ก ์ต์ ํ๋์ด์ผ.
Webhooks vs APIs

API (Application Programming Interface)
API๋ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ์ํธ ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ผ๋ จ์ ํ๋กํ ์ฝ, ๋๊ตฌ ๋ฐ ๊ท์น์
๋๋ค. API๋ ์๋น์ค ์ ๊ณต์๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ธ๋ถ ๊ฐ๋ฐ์๋ค์ด ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ์ญํ ์ ํฉ๋๋ค. API ํธ์ถ์ ์ฃผ๋ก ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ์ด๋ฃจ์ด์ง๋ฉฐ, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฑฐ๋ ์์
์ ์ํํ๋๋ก ์ง์ํฉ๋๋ค. ์ด๋ฅผ "ํ" ๋ฐฉ์์ ํต์ ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
์ฐจ์ด์ ์์ฝ
- ํธ๋ฆฌ๊ฑฐ ๋ฐฉ์: ์นํ
์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์๋์ผ๋ก ํธ์ถ๋๋ ๋ฐ๋ฉด, API๋ ์ฌ์ฉ์ ๋๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ ํธ์ถ๋ฉ๋๋ค.
- ํต์ ๋ฐฉ์: ์นํ
์ "ํธ์" ๋ฐฉ์์ผ๋ก, ์๋น์ค๊ฐ ๋ค๋ฅธ ์๋น์ค์ ์ ๋ณด๋ฅผ ์ ๋ฌํฉ๋๋ค. API๋ "ํ" ๋ฐฉ์์ผ๋ก, ํด๋ผ์ด์ธํธ๊ฐ ์๋น์ค๋ก๋ถํฐ ์ ๋ณด๋ฅผ ์์ฒญํฉ๋๋ค.
- ์ฌ์ฉ ๋ชฉ์ : ์นํ
์ ์ค์๊ฐ ์ํธ ์์ฉ์ ์ํด ์ฌ์ฉ๋๋ฉฐ, API๋ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ์ ์ผ๋ฐ์ ์ธ ์ํธ ์์ฉ์ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ์นํ
๊ณผ API๋ ์น ์๋น์ค ๊ฐ์ ์ํธ ์์ฉ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋๊ตฌ์ด์ง๋ง, ์ฌ์ฉ ๋ฐฉ์๊ณผ ๋ชฉ์ ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ๋ฒ์ ์ ํํ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
Eric๊ณผ ํจ๊ป Jira ์นํ ๋ฑ๋กํด๋ณด๊ธฐ
https://just09.tistory.com/418
[Eric's Web] API๋ฅผ ํตํด์ Jira Webhook ๋ฑ๋กํ๊ธฐ. ( OAuth2.0 Token์ป๊ธฐ ํฌํจ)
์๋ ํ์ธ์. Eric์ ๋๋ค. ์ค๋ ์ ๊ฐ ์ค๋นํ ๋ด์ฉ์ Jira API๋ฅผ ํตํ Jira Webhook ๋ฑ๋กํ๊ธฐ ์ ๋๋ค. ์นํ (Webhook)์ด๋? ์นํ (Webhook)์ ํ ์์คํ ์์ ๋ค๋ฅธ ์์คํ ์ผ๋ก ์ด๋ฒคํธ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ์๋ํ๋ ๋ฐฉ
just09.tistory.com
'๐ป ๊ฐ๋ฐ๊ณต๋ถ > Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Eric's Web] NGINX ์ค์น ๋ฐ CORS ์ค์ ๋ฐฉ๋ฒ (0) | 2024.06.22 |
---|---|
[Eric's Web] API๋ฅผ ํตํด์ Jira Webhook ๋ฑ๋กํ๊ธฐ. ( OAuth2.0 Token์ป๊ธฐ ํฌํจ) (38) | 2023.08.26 |