LogoLogo
  • Getting Started
    • Pandium Documentation
    • What is Pandium?
      • The Pandium Platform
      • What Companies Use Pandium For
      • Platform Structure
      • Users of Pandium
    • Anatomy of an Integration
      • Run Triggers
      • PANDIUM.yaml
        • Schema
        • UiSchema
        • Dynamic Configurations
        • Dependent Selector Configurations
      • Environment Variables
        • Context: StdOut
        • Logging (StdErr)
    • Key Terminology
    • Pandium Integration Tutorial
      • Pokémon of the Day, Part 1
        • Create App in Slack to get Credentials
        • Create Integration on the Pandium Integration Hub
        • Make a Tenant
        • Write the Integration in Typescript
          • Add the .env
          • Configure the PANDIUM.yaml
          • Check the Customized Connection Settings Page
          • Add the Pokémon client
          • Add the Slack Client
          • Add the pokemonSync flow
          • Run Normal Sync on the Tenant
        • Update the Tenant Schedule
      • Pokémon of the Day, Part 2
        • Update the PANDIUM.yaml
        • Check the Updated Connection Settings Page
        • Add Dynamic Configs
        • Run Init Sync on the Tenant
        • Update the pokemonSync flow
        • Run updated Normal Sync on the Tenant
  • Integration Hub
    • Setting Up Source Control
    • Creating An Integration
      • Getting Started with Creating an Integration
      • Demo Video: Creating an Integration With Pandium
    • Managing Internal Integrations
    • Creating a Tenant In the Integration Hub
    • Managing and Updating Tenants
    • Managing and Updating Releases
    • Managing External Integrations
    • Managing Tenant Connection Settings
    • Creating Users
    • Managing Users
    • Administrator Settings
    • Site Metrics
  • Marketplaces
    • Integration Onboarding Experiences Overview
      • Embedding the In-App Marketplace
      • Embedding the Integration Install Only
      • Embedding Auth-Only Connections
    • Customizing the JWT
    • Marketplace Settings
    • App Installation Options
    • Flags, Tags, and Categories
    • Public Gallery
  • Connectors
    • Connectors 101
      • Active Campaign
      • Afterpay
      • AfterShip
      • Airship
      • Alasco
      • Algolia
      • Amadeus
      • Amazon
      • Ankored
      • Apollo.io
      • AppSignal
      • AskNicely
      • Assembled
      • Attentive
      • AWS
      • Azure Devops
      • Azure Personal Access Token
      • Bandcamp
      • Bazaarvoice
      • BigCommerce
      • Bitbucket
      • Booker
      • Box
      • Braze
      • Brightpearl
      • Campaign Monitor
      • Capabl
      • Chargebee
      • Chargify
      • Chubb
      • Cin7
      • Coach Packet
      • ConnectSports
      • Constant Contact
      • Customer Thermometer
      • Datadog
      • Datev
      • Delighted
      • DHL
      • DHL Unified
      • Domo
      • Dotdigital
      • Drip
      • Dropbox
      • Dynamic Yield
      • Easyship
      • Eloqua
      • Emotive
      • Endear
      • Envision
      • eTip
      • EvaluAgent
      • Exact Online
      • eZCom
      • Fabric
      • Facebook
      • Falcon.io
      • Famer
      • Fedex
      • Field Nation
      • Finch
      • Fivetran
      • Fleetio
      • Flowcode
      • Follow Up Boss
      • Fortnox
      • Foundation Software
      • Fulfil
      • GetResponse
      • GitHub
      • GitLab
      • Gladly
      • Google
      • Google Service Account
      • Gooten
      • Gorgias
      • Greenhouse.io
      • Happy Returns
      • HootSuite
      • Hubspot
      • Image Relay (Basic)
      • Imgur
      • Iterable
      • Jasper
      • JDP
      • Justuno
      • Kentico Kontent
      • Klaus
      • Klaviyo
      • Kombo
      • Kustomer
      • kvCORE
      • LeagueApps
      • Lessonly
      • Lexoffice
      • Linga rOS
      • Linnworks
      • Listrak
      • Loop Returns
      • LoyaltyLion
      • Lucid Travel
      • Lytx
      • MaestroQA
      • Magento (OAuth)
      • Mailchimp
      • Marketo
      • Medallia
      • Microsoft Entra
      • Mintsoft
      • NCSA Athletic Recruiting
      • Netomi
      • Netsuite
      • Nicereply
      • Nylas
      • Omnisend
      • OnPay
      • OnRamp
      • Ontraport
      • Optimizely Data Platform (ODP)
      • Pandium
      • Personio
      • PayCom
      • Perspective
      • Player's Health
      • Playvox
      • Pleo
      • Postscript
      • Promoter
      • Quickbooks Online
      • Qualtrics
      • Recart
      • ReCharge
      • Recurly
      • Returnly
      • ReverseLogix
      • Rydership (formerly Whiplash)
      • Sage Intacct
      • SailThru
      • Salesforce
      • Salesforce Marketing Cloud
      • Salesforce Pardot
      • SendGrid
      • Sendlane
      • SevenRooms
      • SFTP
      • ShipBob
      • ShipHero
      • ShipMonk
      • Shippo
      • Shipstation
      • Shopify
      • Skubana
      • Slack (OAuth2)
      • SmartrMail
      • Smartrr
      • Smartvatten
      • Smile.io
      • Solidus
      • Springbig
      • Square
      • Square (Sandbox)
      • Stamped
      • Stella Connect
      • SugarCRM
      • Swell
      • Talkable
      • TeamGenius
      • Tether
      • Thankful
      • TikTok
      • Trinet-B2B Test
      • Triple Whale
      • TrustPilot
      • Twilio
      • Twitter
      • Unbabel
      • UPS
      • Upscribe
      • USPS
      • Visma e-conomic
      • Visma.net
      • Walmart
      • Wix
      • WorkMax
      • Xero (OAuth)
      • Yardstik
      • Yotpo
      • Zendesk (Support)
      • Zingtree
      • Zonos
  • Partners
    • Inviting Partners
    • Partner Form
    • Integration Form
    • Managing Partners
    • Partner User Guide
  • Reference
    • Pandium API
    • Pandium CLI
    • FAQ
    • Sample Integrations
    • Repository Permissions
      • Bitbucket
      • Azure
      • GitLab
      • GitHub
    • Email Support
Powered by GitBook
On this page
  • What is Source Control?
  • Setting Up Source Control
  • Build Environment Secrets

Was this helpful?

  1. Integration Hub

Setting Up Source Control

Last updated 25 days ago

Was this helpful?

What is Source Control?

Pandium enables easy management of the CI/CD of your integrations through a process labeled Source Control. Within the Pandium Integration Hub, you'll see a Source Control tab in the Settings sidebar resource where this process can be managed.

Source Control will be automatically deployed to your account, but requires further setup before beginning integration development. We currently support four different version control systems: , , and .

Source Control looks for the URL paths in your repository denoted in your integration configuration and will build a new release based on changes in the code base.

Setting up this feature is key to hosting and managing integration on Pandium, and should be the first step completed before it begins. As integrations are created, you'll be able to build releases for them on that integration detail page, or directly from this page in the future.

Setting Up Source Control

  1. Navigate to the Source Control tab within the Settings resource on the sidebar.

  2. Connect to the preferred repository by hitting 'Connect' next to the repository name.

  3. Complete the authentication process for the relevant repository, and that's it!

    1. Please note: when connecting your repository to Pandium for the first time, you’ll need to authorize Pandium with read and write permissions in order to properly access and modify relevant files within your repo.

    2. For more information related to repository permissions, please see .

Note - the files Pandium will setup for you are:

  • A package file

  • A main file to print out environment

  • A lib file to parse Pandium specific environment

  • A default PANDIUM.yaml

  • Any additional files to get a minimally running script in that specific language

A release can be also be built manually from an integration's detail page, by selecting the 'Build Release' button on the page. This will start a build for a new release, which you can track the progress of, and view logs, in the Activity table on the Source Control page.

Note: If the integration you want to build a release for has already been created, it will populate in the dropdown below the connection options, and a new release can be named and built there.

Build Environment Secrets

Build Environment Secrets allow you to set key value pairs which you can reference as environment variables during the build of an integration release. A common use case is a token for an NPM registry:

These keys can then be referenced as environment variables in the format: PAN_SEC_SOURCE_CONTROL_YOUR_KEY_NAME - Note: all letters will be uppercase in the environment variable and any '-' will be converted to '_'.

ex: My-NPM-key will be PAN_SEC_SOURCE_CONTROL_MY_NPM_KEY.

These build environment secrets variables can later be referenced as environment variables in your code for use during the integration build process.

Example of use in a make file:

```makefile
GITTOKEN = ${PAN_SEC_SOURCE_CONTROL_GITHUB_TOKEN}
```

Example of use in a package.json:

"scripts": {
    "build": "tsc --broker-token=${PAN_SEC_SOURCE_CONTROL_MY_SECRET}"
  }

You can also make use of environment secrets directly in the PANDIUM.yaml:

build: npm config set @pandium:registry https://registry.qa-420.pandium.com/ && npm config set //registry.qa-420.pandium.com/:_authToken $PAN_SEC_SOURCE_CONTROL_PANDIUM_TOKEN npm install --production && npm i --save-dev @types/node && npm run build

If setting up an integration for the first time, Pandium is able to push an appropriate scaffolding of folders and files directly to your repository from that specific integration's detail page. Learn more about building that process and building releases .

here
Azure
Bitbucket
GitHub
GitLab
here
Example of what you should see when connecting Github
The Source Control page in Admin Settings
The key can be whatever you want in order to access the secret value during a build.