{"id":4299,"date":"2026-04-15T07:00:00","date_gmt":"2026-04-14T22:00:00","guid":{"rendered":"https:\/\/litcoder.com\/?p=4299"},"modified":"2026-04-14T12:01:46","modified_gmt":"2026-04-14T03:01:46","slug":"openproject%ec%99%80-github-%ec%97%b0%eb%8f%99","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=4299","title":{"rendered":"OpenProject\uc640 GitHub \uc5f0\ub3d9"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\uc5f0\ub3d9\uc744 \uc704\ud55c \uc124\uc815<\/h2>\n\n\n\n<p>#1 \uba3c\uc800 OpenProject\uc5d0\uc11c \uc5f0\ub3d9\uae30\ub2a5\uc744 \uc804\ub2f4\ud560 \uacc4\uc815\uc744 \ud558\ub098 \uc0dd\uc131(GitHub Bot)\ud574\uc900\ub2e4. \uadf8\ub9ac\uace0 \uc0c8\ub85c\uc6b4 role(Github integration)\uc744 \ud558\ub098 \ub9cc\ub4e4\uace0 <code>View work packages<\/code>\uc640 <code>Add comments <\/code>\uad8c\ud55c\uc744 \uc900\ub2e4.<\/p>\n\n\n\n<p>#2 GitHub\uc640 \uc5f0\ub3d9\ud558\uace0\uc790 \ud558\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc0dd\uc131\ud55c \uc804\ub2f4\uacc4\uc815(GitHub Bot)\uc744 \ucd94\uac00\ud558\uace0 \uc5ed\ud560\ub85c GitHub integration\uc744 \ubd80\uc5ec\ud55c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"379\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/add_githubbot_member.png\" alt=\"\" class=\"wp-image-4303\" style=\"width:500px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/add_githubbot_member.png 599w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/add_githubbot_member-300x190.png 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/figure>\n<\/div>\n\n\n<p>#3 OpenProject\uc5d0 GitHub \uc804\ub2f4 \uacc4\uc815(GitHub Bot)\uc73c\ub85c \ub85c\uadf8\uc778\ud574\uc11c <code>Account settings<\/code> -&gt; <code>Access tokens<\/code> -&gt; <code>Provider tokens <\/code>-&gt; <code>API<\/code> \ud56d\ubaa9\uc73c\ub85c \uc774\ub3d9\ud574\uc11c access token\uc744 \ud558\ub098 \uc0dd\uc131\ud55c\ub2e4. \uc774 token\uc744 \ubcf5\uc0ac\ud574\uc11c GitHub\uc758 \ud574\ub2f9 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c Webhooks \ud56d\ubaa9\uc5d0 \ub4f1\ub85d\ud558\uace0, &#8220;Send me everything&#8221; \uad8c\ud55c\uc744 \uc124\uc815\ud55c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"716\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/github-openproject-webhook-1024x716.png\" alt=\"\" class=\"wp-image-4359\" style=\"width:500px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/github-openproject-webhook-1024x716.png 1024w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/github-openproject-webhook-300x210.png 300w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/github-openproject-webhook-768x537.png 768w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/github-openproject-webhook-624x436.png 624w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/github-openproject-webhook.png 1402w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>#4 OpenProject\uc758 \ud504\ub85c\uc81d\ud2b8 \uc124\uc815\uc5d0\uc11c GitHub Module\uc744 \ud65c\uc131\ud654 \ud55c\ub2e4.<br> <code>Project settings -&gt; Modules -&gt; GitHub<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc5f0\ub3d9 \ud558\ub294 \ubc29\ubc95<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"448\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/opp_github_snippets.png\" alt=\"\" class=\"wp-image-4302\" style=\"width:500px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/opp_github_snippets.png 543w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/opp_github_snippets-300x248.png 300w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/figure>\n<\/div>\n\n\n<p>GitHub module\uc774 \ud65c\uc131\ud654 \ub418\uc5c8\ub2e4\uba74 \uac01 \ud2f0\ucf13\uc758 \ud56d\ubaa9\uc5d0 \uc704\uc640 \uac19\uc774 GITHUB \ud56d\ubaa9\uc774 \ub098\ud0c0\ub098\uace0 &#8220;Git snippets&#8221;\ub97c \ub20c\ub800\uc744 \ub54c \uc0ac\uc6a9 \ud560 \uc218 \uc788\ub294 Git \uba85\ub839\uc5b4 \ub4e4\uc758 preset \ub4e4\uc774 \ubcf4\uc778\ub2e4.<\/p>\n\n\n\n<p>&#8220;<code>Create branch with empty commit<\/code>&#8220;\uc744 \ub20c\ub7ec\uc11c \ubcf5\uc0ac\ud55c \ud6c4 git repository\uc5d0\uc11c \ubd99\uc5ec \ub123\uc73c\uba74 \uc0c8\ub85c\uc6b4 branch\uac00 \uc0dd\uc131\ub418\uba74\uc11c \ube44\uc5b4 \uc788\ub294 commit\uc774 \ud558\ub098 \uc0dd\uae30\ub294\ub370, \uc774 commit\uc5d0 \uc218\uc815\uc0ac\ud56d\uc744 \uae30\ub85d\ud574\uc11c PR\uc744 \uc0dd\uc131\ud558\uba74 PR\uc758 Open\/CI(pass\/fail)\/Merged \ub4f1\uc758 \uc0c1\ud0dc\uac00 OpenProject ticket\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc790\ub3d9\uc73c\ub85c \ucd94\uc801\ub41c\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"569\" src=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/op_github_sync-1024x569.png\" alt=\"\" class=\"wp-image-4307\" style=\"width:500px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/op_github_sync-1024x569.png 1024w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/op_github_sync-300x167.png 300w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/op_github_sync-768x427.png 768w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/op_github_sync-624x347.png 624w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/04\/op_github_sync.png 1102w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">\ucc38\uc870<\/h2>\n\n\n\n<p>OpenProject &#8211; <a href=\"https:\/\/www.openproject.org\/docs\/system-admin-guide\/integrations\/github-integration\/\">GitHub integration \ubb38\uc11c<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc5f0\ub3d9\uc744 \uc704\ud55c \uc124\uc815 #1 \uba3c\uc800 OpenProject\uc5d0\uc11c \uc5f0\ub3d9\uae30\ub2a5\uc744 \uc804\ub2f4\ud560 \uacc4\uc815\uc744 \ud558\ub098 \uc0dd\uc131(GitHub Bot)\ud574\uc900\ub2e4. \uadf8\ub9ac\uace0 \uc0c8\ub85c\uc6b4 role(Github integration)\uc744 \ud558\ub098 \ub9cc\ub4e4\uace0 View work packages\uc640 Add comments \uad8c\ud55c\uc744 \uc900\ub2e4. #2 GitHub\uc640 \uc5f0\ub3d9\ud558\uace0\uc790 \ud558\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc0dd\uc131\ud55c \uc804\ub2f4\uacc4\uc815(GitHub Bot)\uc744 \ucd94\uac00\ud558\uace0 \uc5ed\ud560\ub85c GitHub integration\uc744 \ubd80\uc5ec\ud55c\ub2e4. #3 OpenProject\uc5d0 GitHub \uc804\ub2f4 \uacc4\uc815(GitHub Bot)\uc73c\ub85c \ub85c\uadf8\uc778\ud574\uc11c Account settings -&gt; Access tokens -&gt; Provider tokens -&gt; API [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[54,426,428,427],"class_list":["post-4299","post","type-post","status-publish","format-standard","hentry","category-tools","tag-github","tag-openproject","tag-token","tag-webhook"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4299"}],"version-history":[{"count":9,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4299\/revisions"}],"predecessor-version":[{"id":4360,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4299\/revisions\/4360"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}