Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/public/img/docs/self-hosted/08-integration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 33 additions & 9 deletions docs/cloud/github-integration-setup.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,55 @@
# GitHub (Enterprise) Integration Setup
# GitHub Enterprise Integration Setup
## Private Packagist Cloud

## Initial Setup
<div class="row column">
<div class="callout success">
<p>
This guide explains how to setup an OAuth integration for Private Packagist Cloud with GitHub Enterprise Cloud/Server.
If you use their public service on GitHub.com, these instructions are not relevant to you.
</p>
<p>If you are using our Self-Hosted product, please <a href="/docs/self-hosted/github-integration-setup">use this guide</a>.</p>
</div>
</div>

To allow your users to authenticate to Private Packagist with their GitHub Enterprise account, you'll first need to create
an integration in Private Packagist. This document walks you through the required steps.

## Open the Add Integration form

From the organization settings page, select the "Integrations" subtab. Hit the "Add Integration" button on the integrations listing page to get to the form below.
To set up a GitHub Enterprise integration with Private Packagist start by selecting "GitHub" as the platform and enter the URL of your GitHub Enterprise server, as seen in the example below.
A link to setup the OAuth application on your GitHub enterprise server will automatically be displayed.
A link to create a new OAuth application on your GitHub enterprise server will automatically be displayed.

![Packagist Setup](/Resources/public/img/docs/integration-setup/cloud/github-enterprise-01-packagist-setup.png)

## Creating an OAuth Application
## Create a GitHub Enterprise OAuth Application

Do not submit the integration form yet, but copy the content from the "Callback
URL / Redirect URL" and follow the setup link to your GitHub server. The fields
Client ID and Client Secret remain empty for now.

![GitHub Register App](/Resources/public/img/docs/integration-setup/github-02-github-register-app.png)
![GitHub Register App](/Resources/public/img/docs/integration-setup/cloud/github-enterprise-02-register-app.png)

Register a new application on GitHub. This will reveal the client ID and client
secret required for finishing the setup on Private Packagist.
Register a new application on GitHub Enterprise. You'll be redirected to the application's page. Click the "Generate a new client secret" button
to get a new secret. You'll need the client ID and client secret to finish the setup on Private Packagist.

![GitHub Credentials](/Resources/public/img/docs/integration-setup/github-03-github-credentials.png)

## Finish the Setup
## Create the integration

Copy and paste the "Client ID" and "Client Secret" values back into the Private
Packagist integration form and submit the form with the "Save Integration"
button.

![Packagist Form](/Resources/public/img/docs/integration-setup/cloud/github-enterprise-04-packagist-form.png)
![Complete integration form](/Resources/public/img/docs/integration-setup/cloud/github-enterprise-04-complete-form.png)

You'll be redirected back to the list of integrations.

### Share the GitHub Enterprise login link

The final step is sharing your organization-specific login link with your users. Look for the "Login link" button next to
your newly created GitHub Enterprise integration on the integrations page, and copy the URL.

![GitHub Enterprise integration](/Resources/public/img/docs/integration-setup/cloud/github-enterprise-05-integration.png)

This link presents the option to authenticate with your GitHub Enterprise account and can now be used to log in to Private Packagist.
44 changes: 33 additions & 11 deletions docs/self-hosted/github-integration-setup.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,50 @@
# GitHub (Enterprise) Integration Setup
## Private Packagist Self-Hosted

This guide explains how to setup an OAuth integration for Private Packagist Self-Hosted with either the on-premises version of GitHub, or their public service on github.com.
If you are using our cloud product at packagist.com, [use this guide](../cloud/github-integration-setup.md).
<div class="row column">
<div class="callout success">
<p>This guide explains how to setup an OAuth integration for Private Packagist Self-Hosted with either the on-premises version of GitHub, or their public service on GitHub.com.</p>
<p>If you are using our Cloud product at packagist.com, <a href="/docs/cloud/github-integration-setup">use this guide</a>.</p>
</div>
</div>

## Initial Setup
Hit the “Add Integration“ button on the admin page to get to the form below.
To allow your users to authenticate to Private Packagist Self-Hosted with their GitHub or GitHub Enterprise account, you'll
first need to create an integration in Private Packagist. This document walks you through the required steps.

## Open the Add Integration form

Log in with an admin account, go to the Admin section and hit the “Add Integration“ button to open the form to create your integration.

![Add Integration](/Resources/public/img/docs/self-hosted/08-integration.png)

To setup a GitHub integration with Private Packagist start by selecting "GitHub" as the platform and enter the URL of your GitHub Enterprise Server or <i>https://github.com</i> to use the public GitHub server as seen in the example below. A link to setup the OAuth application on GitHub will automatically be displayed.
To setup a GitHub integration with Private Packagist start by selecting "GitHub" as the platform and enter the URL of
your GitHub Enterprise Server or <i>https://github.com</i> to use the public GitHub server as seen in the example below.
A link to set up the OAuth application on GitHub will automatically be displayed.

![Packagist Setup](/Resources/public/img/docs/integration-setup/github-01-packagist-setup.png)
![Packagist Setup](/Resources/public/img/docs/integration-setup/self-hosted/github-01-packagist-setup.png)

## Creating an OAuth Application
Do not submit the integration form yet, but copy the content from the "Callback URL / Redirect URL" and follow the setup link to your GitHub server. The fields Client ID and Client Secret remain empty for now.
Do not submit the integration form yet, but copy the content from the "Callback
URL / Redirect URL" and follow the setup link to your GitHub server. The fields
Client ID and Client Secret remain empty for now.

![GitHub Register App](/Resources/public/img/docs/integration-setup/github-02-github-register-app.png)
![GitHub Register App](/Resources/public/img/docs/integration-setup/self-hosted/github-02-github-register-app.png)

Register a new application on GitHub. This will reveal the client ID and client secret required for finishing the setup on Private Packagist.
Register a new application on GitHub Enterprise. You'll be redirected to the application's page. Click the "Generate a new client secret" button
to get a new secret. You'll need the client ID and client secret to finish the setup on Private Packagist.

![GitHub Credentials](/Resources/public/img/docs/integration-setup/github-03-github-credentials.png)

## Finish the Setup
Copy and paste the "Client ID" and "Client Secret" values back into the Private Packagist integration form and submit the form with the "Create Integration" button.
Copy and paste the "Client ID" and "Client Secret" values back into the Private
Packagist integration form and submit the form with the "Create Integration"
button.

![Private Packagist Integration Form](/Resources/public/img/docs/integration-setup/self-hosted/github-04-packagist-form.png)

The GitHub integration will be created and you will be redirected to the admin page.

The new integration will be shown in the list of available integrations, and your users can
now log in to your Private Packagist Self-Hosted installation using their GitHub account.

![Packagist Form](/Resources/public/img/docs/integration-setup/github-04-packagist-form.png)
![Available integrations](/Resources/public/img/docs/integration-setup/self-hosted/github-05-integrations-overview.png)
6 changes: 4 additions & 2 deletions features/integration-github-bitbucket-gitlab.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ You can log into Private Packagist using an account on GitHub.com, Bitbucket.org

You can then either create a new organization directly synchronized with a GitHub organization, Bitbucket workspace or a GitLab group, or you can enable synchronization for an existing Organization in _Settings_.

![Synchronization](/Resources/public/img/docs/features/Sync-20170306.png)
![Synchronization](/Resources/public/img/docs/features/Sync-20241218.png)

Apart from synchronizing teams, users, and permissions, setting up the integration will simplify the addition of new packages to your Composer repository. When you create a **new repository** on GitHub, Bitbucket, or GitLab, it will be **added as a Composer package automatically** if it contains a _composer.json_ file. If you’d like to add existing repositories as packages, you can do so with the click of a button on the Packages tab in your organization.

Expand All @@ -20,7 +20,7 @@ Apart from synchronizing teams, users, and permissions, setting up the integrati
Private Packagist integrates with the following systems:

#### GitHub
* OAuth: Users authenticate on Private Packagist with their GitHub accounts
* OAuth: Users authenticate on Private Packagist with their GitHub accounts. If you use Private Packagist Self-Hosted, first create a GitHub app by following these [steps](../docs/self-hosted/github-integration-setup.md).
* Synchronization:
* Keeps teams, their members, and access permissions in sync with your GitHub organization
* Code Credentials: GitHub App or GitHub API Token
Expand All @@ -41,6 +41,7 @@ Private Packagist integrates with the following systems:
* Webhooks: Code changes and releases

#### Bitbucket Data Center / Server

* OAuth: Users authenticate on Private Packagist with their Bitbucket Data Center / Server accounts. Follow [this setup](../docs/cloud/bitbucket-server-integration-setup.md) for Cloud plans or [this setup](../docs/self-hosted/bitbucket-server-integration-setup.md) for Self-Hosted.
* Synchronization:
* Keeps users and access permissions in sync with your Bitbucket Server projects
Expand All @@ -65,6 +66,7 @@ Private Packagist integrates with the following systems:
* Webhooks: Code changes and releases

#### AWS CodeCommit
* Code Credentials: Either create HTTPS Git credentials and store it as HTTP Basic credential or grant us access via SSH key
* Webhook:
* Users need to [create an AWS CodeCommit Trigger](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify-sns.html) using the generic hook URL from the package page
* Code changes are available automatically. For releases, you need to select "All repository events" for the events type.
Expand Down