Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrations: update GitHub guides #110

Merged
merged 6 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from all 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.
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.
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.
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.
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.
46 changes: 35 additions & 11 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 set up 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)
![Packagist Setup](/Resources/public/img/docs/integration-setup/cloud/github-enterprise-01-packagist-setup-20241219.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)
![GitHub Credentials](/Resources/public/img/docs/integration-setup/github-03-github-credentials-20241219.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.
2 changes: 1 addition & 1 deletion docs/self-hosted/bitbucket-integration-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
## Initial Setup
Hit the “Add Integration“ button on the admin page to get to the form below.

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

To setup a Bitbucket integration with Private Packagist start by selecting "Bitbucket" as the platform and enter <i>https://bitbucket.org</i> as the base URL, as seen in the example below.

Expand Down
50 changes: 37 additions & 13 deletions docs/self-hosted/github-integration-setup.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,52 @@
# 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 set up 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.

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

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.
Go to the Admin section and hit the “Add Integration“ button to open the form to create your integration. If you've just
installed Private Packagist Self-Hosted and it is still running in Setup Mode, you do not need to log in. If the application
is no longer in Setup mode, you will have to log in with an admin account first.

![Packagist Setup](/Resources/public/img/docs/integration-setup/github-01-packagist-setup.png)
![Add Integration](/Resources/public/img/docs/self-hosted/08-integration-create.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 set up the OAuth application on GitHub will automatically be displayed.

![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)
![GitHub Credentials](/Resources/public/img/docs/integration-setup/github-03-github-credentials-20241219.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)
2 changes: 1 addition & 1 deletion docs/self-hosted/gitlab-integration-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ If you are using our cloud product at packagist.com, [use this guide](../cloud/g
## Initial Setup
Hit the "Add Integration" button on the admin page in Private Packagist Self-Hosted to get to the form below.

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

To setup a GitLab integration with Private Packagist start by selecting "GitLab" as the platform and enter the URL of your own GitLab server or use <i>https://gitlab.com</i> for the public GitLab server as seen in the example below. A link to setup the oauth application on GitLab will automatically be displayed.

Expand Down
2 changes: 1 addition & 1 deletion docs/self-hosted/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Select options for your SMTP server or use the GMail option for a simplified for
![Email Settings](/Resources/public/img/docs/self-hosted/05-email-settings.png)

## Application Startup
Save and apply the settings to start Private Packagist Self-Hosted. Leave the Setup mode enabled.
Save and apply the settings to start Private Packagist Self-Hosted. Leave the Setup Mode enabled.

![Start Application](/Resources/public/img/docs/self-hosted/06-save-start.png)

Expand Down
2 changes: 1 addition & 1 deletion docs/self-hosted/kubernetes-embedded.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ or gitlab.com. Follow the instructions to create the respective required identif
* [Authentication with Email Addresses and Passwords](./authentication-email-addresses-passwords-setup.md).


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

#### Selecting Admins
After setting up an integration, you can log in through the top menu. Register an account and pick a username.
Expand Down
2 changes: 1 addition & 1 deletion docs/self-hosted/kubernetes-helm.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ or gitlab.com. Follow the instructions to create the respective required identif
* [Authentication with Email Addresses and Passwords](./authentication-email-addresses-passwords-setup.md).


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

#### Selecting Admins
After setting up an integration, you can log in through the top menu. Register an account and pick a username.
Expand Down
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