Pygithub: create_git_tag๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

์— ๋งŒ๋“  2016๋…„ 11์›” 18์ผ  ยท  8์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PyGithub/PyGithub

Repository.create_git_tag()๋Š” ํ˜ธ์ถœ๋  ๋•Œ ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(๋‹ค๋ฅธ Repository ๋ฉ”์„œ๋“œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ). ์ƒ˜ํ”Œ ์ฝ”๋“œ:

github_instance = Github("user", "pass")
repo = github_instance.get_repo("MyOrg/myrepo")
repo.create_git_tag(tag="test_tag", message="hello world", type="commit", object="f82f379529ad40a25a6")

์ด๊ฒƒ์„ ์‹คํ–‰ํ•œ ํ›„ github์˜ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์ƒ์„ฑ๋œ ํƒœ๊ทธ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค sha ๊ฐ’์ด ๋ฐ˜ํ™˜๋œ GitTag ๊ฐ์ฒด๋ฅผ ๋ณผ ๋•Œ (๊ทธ๋ฆฌ๊ณ  create_git_tag์˜ "object" ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ฐ™์ง€ ์•Š์Œ)

์ด๊ฒƒ์€ PyGithub 1.29 ๋ฐ Python 3.5.2์ž…๋‹ˆ๋‹ค.

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

create_git_tag() ๋Š” ํƒœ๊ทธ ๊ฐ์ฒด๋งŒ ์ƒ์„ฑํ•˜๊ณ  github์— ์ฐธ์กฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ฐธ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด create_git_ref() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

github_instance = Github("user", "pass")
repo = github_instance.get_repo("MyOrg/myrepo")
t = repo.create_git_tag(tag="test_tag", message="hello world", type="commit", object="f82f379529ad40a25a6")
repo.create_git_ref('refs/tags/{}'.format(t.tag), t.sha)

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

๋˜ํ•œ PyGithub 1.29 ๋ฐ Python 2.7์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ผ๊ด€์„ฑ ์—†๋Š” ๊ฐœ์ฒด ์ฐธ์กฐ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

ํŒŒ์ด๊นƒํ—ˆ๋ธŒ 1.29
ํŒŒ์ด์ฌ 3.5.2

์—ฌ์ „ํžˆ PyGithub 1.32์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํƒœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์ฃผ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

create_git_tag() ๋Š” ํƒœ๊ทธ ๊ฐ์ฒด๋งŒ ์ƒ์„ฑํ•˜๊ณ  github์— ์ฐธ์กฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ฐธ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด create_git_ref() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

github_instance = Github("user", "pass")
repo = github_instance.get_repo("MyOrg/myrepo")
t = repo.create_git_tag(tag="test_tag", message="hello world", type="commit", object="f82f379529ad40a25a6")
repo.create_git_ref('refs/tags/{}'.format(t.tag), t.sha)

@oantonelli ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! create_git_ref ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

create_git_tag_and_release _can_ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์ดํ•ด๋Š” ํƒœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•˜๊ณ , ๊ทธ ํƒœ๊ทธ์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ GitHub์—์„œ ์ƒ์„ฑ๋˜์–ด์•ผ๋งŒ ๋ฆด๋ฆฌ์Šค์— ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. create_git_tag_and_release ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฐธ์กฐ๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“  ํ›„ GitHub์—์„œ ์ฐธ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ์—†์œผ๋ฉด ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ์—†์œผ๋ฉด ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ธฐ์—ฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰