Skip to main content

Check out Port for yourselfΒ 

Installation

This page details how to install Port's GitHub integration (powered by the Ocean framework).

This page outlines the following steps:

  • How to create an access token to give the integration permissions to query your Github organization.
  • How to configure and customize the integration before deploying it.
  • How to deploy the integration in the configuration that fits your use case.

Prerequisites​

  • A GitHub account with permissions to create access tokens.
  • Your Port user role is set to Admin.

Setup​

Configure access token​

To allow Port to fetch data from your GitHub Organization, you need to create an access token. Port supports two types of tokens for authentication: personal access tokens and GitHub app installation tokens.

Personal access token (PAT)​

A Personal Access Token (PAT) is suitable if you're the only one managing the integration and don't need frequent credential rotation.
To create a personal access token see Github's managing your personal access tokens.

  • The token must belong to a user with access to the relevant Github resources (e.g., repositories, teams).

Github app installation​

Refer to our Github app installation guide

Configure Realtime webhook events​

tip

The baseUrl parameter is used specifically to enable the real-time functionality of the integration.

If it is not provided, the integration will continue to function correctly. In such a configuration, to retrieve the latest information from the target system, the scheduledResyncInterval parameter has to be set, or a manual resync will need to be triggered through Port's UI.

Deploy the integration​

Choose the installation method that best suits your needs:

Using this installation option means that the integration will be able to update Port in real time using webhooks.

Prerequisites

To install the integration, you need a Kubernetes cluster that the integration's container chart will be deployed to.

Please make sure that you have kubectl and helm installed on your machine, and that your kubectl CLI is connected to the Kubernetes cluster where you plan to install the integration.

Troubleshooting

If you are having trouble installing this integration, please refer to these troubleshooting steps.

For details about the available parameters for the installation, see the table below.

To install the integration using Helm:

  1. Go to the github-ocean data source page in your portal.

  2. Select the Real-time and always on method:

  3. A helm command will be displayed, with default values already filled out (e.g. your Port client ID, client secret, etc).
    Copy the command, replace the placeholders with your values, then run it in your terminal to install the integration.

Selecting a Port API URL by account region

The port_region, port.baseUrl, portBaseUrl, port_base_url and OCEAN__PORT__BASE_URL parameters are used to select which instance or Port API will be used.

Port exposes two API instances, one for the EU region of Port, and one for the US region of Port.

This table summarizes the available parameters for the installation.

ParameterDescriptionRequired
port.clientIdYour Port client ID.βœ…
port.clientSecretYour Port client secret.βœ…
port.baseUrlYour Port API URL (https://api.getport.io for EU, https://api.us.getport.io for US).βœ…
integration.identifierA unique identifier for your integration.βœ…
integration.typeThe integration type.βœ…
integration.eventListener.typeThe event listener type.βœ…
integration.config.githubOrganizationThe GitHub organization to sync data from.βœ…
integration.config.githubHostThe GitHub instance URL.βœ…
integration.secrets.githubTokenThe GitHub access token.βœ…
scheduledResyncIntervalThe number of minutes between each resync.❌
initializePortResourcesWhen true, the integration will create default blueprints and port-app-config.yml mapping.❌
sendRawDataExamplesWhen true, sends raw data examples from the third-party API to Port for testing and managing the integration mapping.❌
baseUrlThe base URL of the GitHub integration instance, used for real-time updates.❌

Advanced integration configuration

For advanced configuration such as proxies or self-signed certificates, click here.