# How to register a GitHub Enterprise repository

**URL:** <https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218>\
**Category:** How To\
**Created:** [January 11, 2017, 6:35am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218 "2017-01-11T06:35:23Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![viktorbenei](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/viktorbenei/32/18_2.png) [@viktorbenei](https://discuss.bitrise.io/u/viktorbenei)\
**Post date:** [January 11, 2017, 6:35am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/1 "2017-01-11T06:35:23Z")

</div>

GitHub Enterprise is supported, and you can have the same features as with [GitHub.com](http://GitHub.com) with two exceptions:

1. You can’t use the automatic options during the Add New App process, you’ll have to manually specify the git clone URL, register the SSH key and the Webhook.
2. Build status won’t be sent back to your server, so no build status indicator will be presented on the pull requests.

## Setup

1. Start the [Add New App](https://www.bitrise.io/apps/add) process
2. At the first step ( **Connect your repository** ) select the **Other / Manual** option, and copy paste the **SSH** URL of the repository
3. In the **Setup repository access** section copy the SSH key generated by [Bitrise.io](http://Bitrise.io) from the textfield and register it on your GitHub Enterprise account (most likely it’s enough to register it as a Repository **Deploy key** , but you’re free to register it for a user account too, e.g. to a “CI” user who has access to the repository / repositories you want to use on [bitrise.io](http://bitrise.io))
4. Continue the process, just like you would in any other case

Once the registration is complete you can start builds manually.

**To start builds automatically** you have to register a **Webhook**.

1. Go to the `Code` tab of the app on [bitrise.io](https://www.bitrise.io)
2. in the **WEBHOOKS** section select the `GitHub` option in the dropdown. This will generate a webhook URL for you in the format `https://hooks.bitrise.io/h/github/...`.
3. Register this webhook on your GitHub Enterprise as a webhook for the repository, and enable the **Push** and **Pull request** events for the webhook.

That’s all, once the webhook is registered your next code push will start a build on [bitrise.io](https://www.bitrise.io)

If you’d have any questions just let us know!

---

<div class="post-metadata">

**Author:** ![jcayzac](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/jcayzac/32/75_2.png) [@jcayzac](https://discuss.bitrise.io/u/jcayzac)\
**Post date:** [January 12, 2017, 1:31am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/2 "2017-01-12T01:31:41Z")

</div>

> [@viktorbenei](#):
>
> Build status won’t be sent back to your server, so no build status indicator will be presented on the pull requests.

Is the feature planned, or is there any workaround in the meantime?

---

<div class="post-metadata">

**Author:** ![viktorbenei](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/viktorbenei/32/18_2.png) [@viktorbenei](https://discuss.bitrise.io/u/viktorbenei)\
**Post date:** [January 12, 2017, 9:14am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/3 "2017-01-12T09:14:37Z")

</div>

Definitely planned, please vote & comment here, on the related Feature Request: [GitHub Enterprise - Commit/PR Status API support](http://discuss.bitrise.io/t/github-enterprise-commit-pr-status-api-support/203)

---

<div class="post-metadata">

**Author:** ![viktorbenei](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/viktorbenei/32/18_2.png) [@viktorbenei](https://discuss.bitrise.io/u/viktorbenei)\
**Post date:** [January 12, 2017, 10:57am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/4 "2017-01-12T10:57:56Z")

</div>

@jcayzac Ohh, forgot to mention that there is a workaround for sending statuses back to GitHub Enterprise, you can use the **GitHub Status** step.

This can send the proper success/failed status back to your self hosted GitHub Enterprise, except in the case when the build would be aborted before this step would run, as this is a regular build step.  
Just drop it to the end of the Workflow and fill out the required params (e.g. access token), that’s all 🙂

---

<div class="post-metadata">

**Author:** ![justice3120](https://avatars.discourse-cdn.com/v4/letter/j/a4c791/32.png) [@justice3120](https://discuss.bitrise.io/u/justice3120)\
**Post date:** [September 20, 2017, 10:41am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/5 "2017-09-20T10:41:44Z")

</div>

Hi, @viktorbenei

In order to clone Github Enterprise code,  
I think that it is necessary to allow communication from Bitrise to Github Enterprise.  
(Since Github Enterprise is basically behind the firewall)

Is there a way to securely connect Bitrise and Github Enterprise?

If simply allow it with source IP, I think that any user of Bitrise will have access to Github Enterprise.

---

<div class="post-metadata">

**Author:** ![viktorbenei](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/viktorbenei/32/18_2.png) [@viktorbenei](https://discuss.bitrise.io/u/viktorbenei)\
**Post date:** [September 20, 2017, 10:44am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/6 "2017-09-20T10:44:37Z")

</div>

@justice3120 that depends on your own infra / servers. VPN might be a suitable solution:

> [@How to configure bitrise to access an internally hosted git repository](http://discuss.bitrise.io/t/how-to-configure-bitrise-to-access-an-internally-hosted-git-repository/85):
>
> In general you have a couple of options to securely connect to a private repository: Only allow SSH login on the repository server; SSH keys are fully supported on [bitrise.io](https://www.bitrise.io) Restrict by IP: configure your server to only allow connections from certain IP addresses. We don’t recommend this solution, as even if you restrict the IP range to [bitrise.io](https://www.bitrise.io) build machine IPs, that means that anyone who runs builds on [bitrise.io](https://www.bitrise.io) will be allowed to communicate with your servers. Additionally, we only ha…

> [@VPN config works locally on bitrise CLI but fails on bitrise.io](http://discuss.bitrise.io/t/vpn-config-works-locally-on-bitrise-cli-but-fails-on-bitrise-io/2504/5):
>
> I just wanted to follow up and say that although I was never able to get my strongswan config working, I was able to get this up and running using the brew package ‘macosvpn’, which allows you to configure VPN connections with the native Mac VPN client through the CLI, and the OSX command scutil. So that might be worth a shot for anyone who finds this and is also struggling with Mac VPN issues. The set-up was easy for me, this is basically the whole script for Mac: brew install macosvpn sudo m…

---

<div class="post-metadata">

**Author:** ![justice3120](https://avatars.discourse-cdn.com/v4/letter/j/a4c791/32.png) [@justice3120](https://discuss.bitrise.io/u/justice3120)\
**Post date:** [September 21, 2017, 3:52am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/7 "2017-09-21T03:52:17Z")

</div>

@viktorbenei  
Thanks!  
I will consider it in the direction of using VPN.

---

<div class="post-metadata">

**Author:** ![marioharper](https://avatars.discourse-cdn.com/v4/letter/m/3bc359/32.png) [@marioharper](https://discuss.bitrise.io/u/marioharper)\
**Post date:** [March 8, 2018, 8:38pm UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/8 "2018-03-08T20:38:10Z")

</div>

@viktorbenei the workaround for PR integration is ok, however having this more integrated into Bitrise would be ideal. The status doesn’t get updated immediately when a build is queued up. Also, if the build is in an inactive state then the PR doesn’t get updated to reflect that.

I would really love to see this more integrated since many larger organizations use Github Enterprise.

---

<div class="post-metadata">

**Author:** ![viktorbenei](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/viktorbenei/32/18_2.png) [@viktorbenei](https://discuss.bitrise.io/u/viktorbenei)\
**Post date:** [March 12, 2018, 6:04pm UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/9 "2018-03-12T18:04:49Z")

</div>

Definitely planned @marioharper - please vote & comment on the related #feature-request : [GitHub Enterprise - Commit/PR Status API support](http://discuss.bitrise.io/t/github-enterprise-commit-pr-status-api-support/203)

---

<div class="post-metadata">

**Author:** ![sowjanya-gurajada-Mi](https://avatars.discourse-cdn.com/v4/letter/s/22d042/32.png) [@sowjanya-gurajada-Mi](https://discuss.bitrise.io/u/sowjanya-gurajada-Mi)\
**Post date:** [August 15, 2019, 7:12pm UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/10 "2019-08-15T19:12:28Z")

</div>

Hi Vik,

Was trying to configure Github Status step.  
The problem is that, in Account settings, when I enable Github, it is connecting to GitHub but not to Github enterprise account. Due to which, it is not able to connect to repo hosted in Github Enterprise and update the build status. Could you assist, how I can connect to Github Enterprise account instead of Github in Account Settings. Please note that I’m not referring to GitHub enterprise connectivity… I have done the configuration and I’m able to clone my github enterprise repo and run the workflow. My goal is sending the build status back to the Pull request of the repo hosted in Github Enterprise.

---

<div class="post-metadata">

**Author:** ![bitce](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/bitce/32/1639_2.png) [@bitce](https://discuss.bitrise.io/u/bitce)\
**Post date:** [August 16, 2019, 5:27am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/11 "2019-08-16T05:27:29Z")

</div>

Hi @sowjanya-gurajada-Mi!

As we started discussing this in the other thread, you _can not_ connect your GitHub Enterprise account the same way you could your regular GitHub account. The main reason for this being the difference in the nature of these services - the former one is online and we can easily access the information while the latter one is self-hosted and usually on a restricted network.

@viktorbenei is mentioning the GitHub Status step, exactly, because that would allow you to send back build status to your git repo.

---

<div class="post-metadata">

**Author:** ![atanas-bitrise](https://avatars.discourse-cdn.com/v4/letter/a/f05b48/32.png) [@atanas-bitrise](https://discuss.bitrise.io/u/atanas-bitrise)\
**Post date:** [December 21, 2022, 9:25am UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/12 "2022-12-21T09:25:34Z")

</div>

One thing that I would add for this thread to be complete and up-to-date is about hosting the `bitrise.yml` file on the repository. It is supported for GitHub Enterprise in the Cloud but not for self-hosted GitHub Enterprise.

In the latter case, there is a workaround which is to use the Bitrise CLI to run workflows.

---

<div class="post-metadata">

**Author:** ![jeremyp](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.bitrise.io/jeremyp/32/5490_2.png) [@jeremyp](https://discuss.bitrise.io/u/jeremyp)\
**Post date:** [February 13, 2024, 2:36pm UTC](https://discuss.bitrise.io/t/how-to-register-a-github-enterprise-repository/218/13 "2024-02-13T14:36:16Z")

</div>

Good news! We [just released a dedicated integration for customers using self-hosted GitHub Enterprise Server](https://discuss.bitrise.io/t/new-integration-github-enterprise-server-self-hosted/23771) (GHES). This will allow you to host your `bitrise.yml` file on the repository. More improvements are coming e.g. sending build status to GHES
