ImpulseSync™ User Manual
HomePricingContact Us
  • Introduction
    • What is Impulse?
  • Crash Course of ImpulseSync
    • Overview Of ImpulseSync
    • Step 1: Endpoints
      • Endpoint Configuration
    • Step 2: Jobs
      • Job Configuration
      • Step 2a: Content manipulators
      • Step 2b: Content mapper
    • Step 3: Syncing
  • Getting Started
    • Core Concepts
    • Creating Endpoints
    • Creating Jobs
    • Starting a Transaction
    • Transaction Reports
    • Automating Jobs with Pipelines
    • Scripting Post Sync
    • Scheduling Jobs and Pipelines
    • Dashboard
    • Managing Jobs/Pipelines
    • Content Mapper
      • Aligning Mismatched Content
      • Connector Matrix
      • Locked Fields
      • Content Aligner
      • Aligning Content Challenges
  • Reports
    • Reports Screen
    • Debug Report
    • Messages
  • Connectors
    • Common Job Options
    • All Connectors List
    • Source Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • Drupal v7
      • Drupal v9
      • GitHub
      • GraphQL
      • MS Teams
      • SCP
      • Snapshot
      • Strapi v3
      • Strapi v4
    • Destination Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • SCP
      • Strapi v3
      • Strapi v4
  • Content Manipulators
    • Common Manipulator Options
    • Add Replace Field
    • AI(Artificial intelligence)
    • Change ID Manipulator
    • CSV Store Manipulator
    • Dynamic Job Store Manipulator
    • File to Text
    • Folder Manipulator
    • Get and Set Field
    • Language
    • Liquid Field
      • Liquid On the Quick
      • Basics
        • Impulse Values
        • Impulse Variables
        • Operators
        • Truthy and falsy
        • Types
        • Whitespace control
      • Tags
        • Control flow
        • Impulse Content Objects
        • Iteration
        • Utility
        • Variable
      • Filters
        • abs
        • append
        • capitalize
        • ceil
        • compact
        • concat
        • date
        • date_str
        • default
        • divided_by
        • downcase
        • escape
        • escape_once
        • first
        • floor
        • getStoredValue
        • htmlQuery
        • htmlReplace
        • idMap
        • join
        • jq
        • json
        • last
        • lstrip
        • map
        • minus
        • modulo
        • newline_to_br
        • plus
        • prepend
        • remove
        • remove_first
        • replace
        • replace_first
        • reverse
        • round
        • rstrip
        • section
        • sections
        • size
        • slice
        • sort
        • sort_natural
        • split
        • str_to_date
        • strip
        • strip_html
        • strip_newlines
        • times
        • truncate
        • truncatewords
        • type
        • uniq
        • upcase
        • utl_decode
        • url_encode
      • Liquid Playground
    • Markdown
    • Regex
    • Relationship
    • Store Field
    • Tidy
  • Time Machine
    • Snapshot
    • Viewing Snapshots
    • Delivery from Snapshots
  • Cookbook Recipes
    • Adding Fields
    • Aligning Content between Endpoints
    • Avoid overriding Fields
    • Avoid syncing Content Types
    • Combing Fields
    • Default Field Value
    • File (.doc) to Structured Content
    • File (.docx) to Structured Content - Expanded
    • HTML to Structured Content
    • Language (Locale) mismatch between endpoints
    • Paths/IDs Changed
    • Reference to Value
    • Single Content Type to Multiple
    • Splitting Content with Reference
    • Syncing Content with Languages
    • Text Select to Boolean
    • Text to Reference
    • Text to Reference - liquid
    • Two Sources to One Destination
    • Changing a folder path
    • Combining data between content types
    • Converting HTML Sections
    • JSON object to reference
    • Use CSV to convert values
    • Storing fields with Store field motator
  • Troubleshooting
    • What to do if I run into a Job Problem
    • Troubleshooting via UI
    • Submitting a ticket
  • Using Impulse Headlessly
    • Getting Started with cURL
      • Creating Endpoints
      • Creating Jobs
      • Starting a Transaction
      • Transaction Reports
      • Automating Jobs with Pipelines
      • Scheduling Jobs and Pipelines
      • Aligning Mismatched Content
      • Scripting Post Sync
  • Organization Tier Restrictions
  • Content Storage Options
Powered by GitBook
On this page
  • Configuration walkthrough
  • Specifics
  • GitHub Webhooks
  • Example
  • Starting a Sync
  • Endpoint Config
  • Unsupported
  • Adapter Properties
  • Job Options
  • Motation Object Support
  1. Connectors
  2. Source Connectors

GitHub

PreviousDrupal v9NextGraphQL

Last updated 2 years ago

The source GitHub connector will sync files committed to a repository. This requires a GitHub webhook setup for the repository. In addition, a file must be part of the commit to the repository to be sent in the webhook payload and synced through Impulse.

Configuration walkthrough

Specifics

GitHub Webhooks

To connect and get data from GitHub you will need to set up a webhook from GitHub.

In your GitHub repository: Settings → Webhooks → Add webhook

The structure of the webhook is as follows.

  • Payload URL:

    • You need the job-id in order to set up the GitHub Webhook Payload URL

      • http://{{impulse-server}}/public/github-webhook-listener/webhook/{{impulse-job-id}}

Note: If running locally you will need to set up ngrok.

  • Content type: application/json

  • Secret: <same secret used in endpoint config>

Example

The configuration should look as the image below where we must use in the Payload URL our tunnel HTTP URL (for this example http://644bd25536a6.ngrok.io/webhook/65968c46-e849-4223-bbb8-b538b2d21056) and for the Secret we need to use the one we save in our configuration for the endpoint.

Starting a Sync

To start a sync from GitHub, you will need to make a commit. You can add a new folder, change a text file, etc. That commit will fire the webhook and start the job. Pushing content into the repository will trigger a PUSH event sending the pushed element through Impulse to diesel and the destinations.

You can view if the initial start of the job was successful by viewing the webhook recent deliveries page:

Endpoint Config

When saving an endpoint for a GitHub repository via REST instead of the UI you must use the following key:value pairs in the payload.

  • contentRepo:github

  • contentRepoVersion:latest

Unsupported

Syncing a repository without a commit. To sync repository files, you must commit the files you want to sync.

GitHub adapter does not support running as a remote adapter apart from Impulse.

Adapter Properties

Property
Purpose
Required

organization

The GitHub organization to pickup files from.

true

repo

The GitHub repository to pickup files from.

true

oAuthKey

The oAuth key associated with repository to access the repo and files.

false

secretKey

The secret key setup for the GitHub repo's webhook.

false

Job Options

The GitHub source connector has no job options.

Motation Object Support

Object
Supported

Category

No

Definition

Yes

Domain

No

Folder

Yes

Language

No

Relationship

No

Tag

No