Before creating your container, you'll need to create a GitHub app for your organisation.
Creating a GitHub app
Section titled “Creating a GitHub app”From GitHub, click on your profile picture and chose "Settings":
Then "Developer settings" from the left-hand menu:
Then "GitHub Apps":
And create a new GitHub app:
Give it a name, and a homepage URL. The callback URL is the important bit. It needs to be in this form:
[your-nx-cloud-url]/callbacks/github-user
# for examplehttps://my.nx-enterprise.url:8080/callbacks/github-user
Configure a webhook and give it a secret: (the URL needs to match https://<your-NxCloud-instance-URL>/nx-cloud/github-webhook-handler
)
Make sure you subscribe to the "Organization" events:
Once you create the app, keep a note of the Client ID and App ID:
Then generate a new client secret, and save it somewhere secure (we'll use it in a bit):
Finally, scroll down and download a private key:
Then navigate to your download location locally and stringify the contents of the private key:
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' your-key.pem # keep a note of the output
Save the output of the above, as we'll also use it in a bit.
Configure Permissions for the GitHub App
Section titled “Configure Permissions for the GitHub App”The following permissions are required for Nx Cloud to work:
Repository permissions:
Contents: Read & Write
Pull requests: Read & Write
Checks: Read Only
Commit Statuses: Read & Write
Issues: Read & Write
Metadata: Read Only
Organization permissions:
Administration: Read Only
Members: Read Only
Connect Your Nx Cloud Installation
Section titled “Connect Your Nx Cloud Installation”Provide the following values to your developer productivity engineer so they can help connect Nx Cloud to your custom GitHub app:
- Github App Client ID
- Github App Client Secret
- Github App App ID
- Github App Private Key
- GitHub App Webhook Secret