Pygithub: ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ฒดํฌ์šฉ API?

์— ๋งŒ๋“  2017๋…„ 07์›” 10์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PyGithub/PyGithub

ํŠน์ • ๊ฒ€์‚ฌ์— ์‹คํŒจํ•œ PR์„ ์ฐพ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Pull Request์— ๋Œ€ํ•œ ์ฒดํฌ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ์€ ์Šคํฌ๋ฆฐ์ƒท์ž…๋‹ˆ๋‹ค.
pr_check

PR ๊ฐœ์ฒด์—์„œ ๋ช…๋ฐฑํ•œ ๊ฒƒ์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

g = Github("user", "password")
user = g.get_user()
org = g.get_organization('my_org')
repo = org.get_repo('myrepo')
for pr in repo.get_pulls():
    print(pr)
    for el in dir(pr):
        print(el)
    sys.exit()

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด API ์ƒํƒœ๋Š” PR ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์ปค๋ฐ‹์— ์†ํ•ฉ๋‹ˆ๋‹ค. PR์—์„œ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์„ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ http://pygithub.readthedocs.io/en/latest/github_objects/Commit.html#github.Commit.Commit.get_statuses๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”

๋ชจ๋“  4 ๋Œ“๊ธ€

๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด API ์ƒํƒœ๋Š” PR ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ์ปค๋ฐ‹์— ์†ํ•ฉ๋‹ˆ๋‹ค. PR์—์„œ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์„ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ http://pygithub.readthedocs.io/en/latest/github_objects/Commit.html#github.Commit.Commit.get_statuses๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”

์‹œ์›ํ•œ. ์ข‹์€ ์บ์น˜. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ๋‚˜์œ ๋‚จ์ž๋ฅผ ๋‹ซ์œผ์‹ญ์‹œ์˜ค!
์กฐ์‚ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์‚ฌ์†Œํ•œ ๊ฒƒ ํ•˜๋‚˜: ์ด์ œ POST๋ฅผ ํ†ตํ•ด ์ƒํƒœ๋ฅผ ์ƒ์„ฑ/์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://developer.github.com/v3/repos/statuses/#create-a-status
PyGithub๊ฐ€ ์ด๊ฒƒ์„ ์ง€์›ํ•œ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค :)

@grayii ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค. Commit.create_status ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ PR์— ๋Œ€ํ•œ ์ƒํƒœ ํ™•์ธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŠธ๋ฆญ์€ ์ƒํƒœ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์˜ฌ๋ฐ”๋ฅธ ์ปค๋ฐ‹์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์—์„œ ํ•œ ์ผ์ž…๋‹ˆ๋‹ค.

sha = pr.head.sha
repo.get_commit(sha=sha).create_status()
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰