Skip to main content

GitHub Connector

GitHub Manage repositories, issues, pull requests, and workflows in GitHub.

Connections

OAuth 2.0

Authenticates with your Github account using OAuth 2.0

To connect to GitHub, create a new OAuth 2.0 application.

Setup Steps

  1. Navigate to GitHub Developer Settings to create a new OAuth App.
  2. Fill in the required fields:
    • Application name: A descriptive name for the application
    • Homepage URL: The organization or application website
    • Authorization callback URL: https://oauth2.integrations.acme.com/callback
  3. Click Register application.
  4. Click Generate a new client secret to create a client secret.
  5. Copy the Client ID and Client Secret values.

Configure the Connection

  • Enter the Client ID and Client Secret from the OAuth App.
  • Determine what scopes the use case requires and add those to Scopes, separating each with a space.
    • Common scopes include: repo, user, admin:org, workflow
    • For full repository access and workflow permissions, use: repo user admin:org workflow

The connection is now ready to authenticate with GitHub.

This connection uses OAuth 2.0, a common authentication mechanism for integrations. Read about how OAuth 2.0 works here.

InputCommentsDefault
ScopesSpace-separated list of OAuth scopes. See GitHub's documentation for available scopes.
Client IDThe Client ID from your GitHub OAuth App. Find this in GitHub Settings > Developer settings > OAuth Apps.
Client SecretThe Client Secret from your GitHub OAuth App. Keep this value secure.

Triggers

Webhook

Receive and validate webhook requests from Github for webhooks you configure.

InputCommentsDefault
Webhook SecretAn optional secret used to verify webhook authenticity. See GitHub's documentation for details.

Actions

Actions Create Workflow Dispatch

Create a workflow dispatch event

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Workflow IdThe ID of the workflow
RefThe git reference for the workflow
InputsInput keys and values configured in the workflow file. This can be a JSON input mapping, or a reference to a previous step that returned an object.{"input1":"My Value","input2":"My Other Value"}

Git Create Blob

Create a blob

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
ContentThe new blob"s content
EncodingThe encoding used for "content"utf-8

Git Create Ref

Create a reference

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
RefThe name of the fully qualified reference (ie: "refs/heads/master")
ShaThe SHA1 value for this reference
Key

Git Create Tree

Create a tree

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
TreeObjects (of "path", "mode", "type", and "content" or "sha") specifying a tree structure. See https://docs.github.com/en/rest/git/trees#create-a-tree
[
{
"path": "test.txt",
"mode": "100644",
"content": "This is a test"
}
]
Base TreeThe SHA1 of an existing Git tree object which will be used as the base for the new tree

Git Get Ref

Get a reference

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Refref parameter

Issues Create Comment

Create an issue comment

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Issue NumberThe number that identifies the issue
BodyThe contents of the comment

Issues List Comments

List issue comments

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Issue NumberThe number that identifies the issue
SinceOnly show notifications updated after the given time
Per PageThe number of results per page (max 100)30
PagePage number of the results to fetch1

Issues List For Repo

List repository issues

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Fetch AllWhether to fetch all resultsfalse
MilestoneIf an "integer" is passed, it should refer to a milestone by its "number" field
StateIndicates the state of the issues to returnopen
AssigneeThe user that is assigned to the issue, use 'none' for issues with no assignee, or '*' for issues assigned to any user
CreatorThe user that created the issue
MentionedA user that"s mentioned in the issue
LabelsA list of comma separated label names
SortWhat to sort results bycreated
DirectionThe direction to sort the results byasc
SinceOnly show notifications updated after the given time
Per PageThe number of results per page (max 100)30
PagePage number of the results to fetch1

Orgs List For Authenticated User

List organizations for the authenticated user

InputCommentsDefault
Connection
Per PageThe number of results per page (max 100)30
PagePage number of the results to fetch1

Pulls Create

Create a pull request

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
TitleThe title of the pull request. Required unless using the issue parameter.
HeadThe name of the branch where your changes are implemented. For cross-repository pull requests, use the format 'username:branch'.
BaseThe name of the branch you want the changes pulled into. This should be an existing branch in the repository.
BodyThe contents/description of the pull request. Supports markdown formatting.
Maintainer Can ModifyWhen true, maintainers can modify the pull request. See GitHub's documentation for details.false
DraftWhen true, creates the pull request as a draft. Draft pull requests cannot be merged until marked as ready for review.false
Issue NumberThe number that identifies the issue

Pulls List

List pull requests

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
StateFilters pull requests by their state (open, closed, or all).open
HeadFilter pull requests by head user or organization and branch name in the format "user:ref-name" or "organization:ref-name".
BaseFilter pull requests by base branch name.
SortThe field to sort results by.created
DirectionThe direction to sort results (ascending or descending).
Per PageThe number of results per page (max 100).30
PageThe page number of the results to fetch.1

Raw Request

Send raw HTTP request to Github

InputCommentsDefault
Connection
URLInput the path only (/octocat), The base URL is already included (https://api.github.com). For example, to connect to https://api.github.com/octocat, only /octocat is entered in this field.
MethodThe HTTP method to use.
DataThe HTTP body payload to send to the URL.
Form DataThe Form Data to be sent as a multipart form upload.
File DataFile Data to be sent as a multipart form upload.
File Data File NamesFile names to apply to the file data inputs. Keys must match the file data keys above.
Query ParameterA list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
HeaderA list of headers to send with the request.
Response TypeThe type of data you expect in the response. You can request json, text, or binary data.json
TimeoutThe maximum time that a client will await a response to its request
Debug RequestEnabling this flag will log out the current request.false
Retry Delay (ms)The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.0
Retry On All ErrorsIf true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.false
Max Retry CountThe maximum number of retries to attempt. Specify 0 for no retries.0
Use Exponential BackoffSpecifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.false

Repos Create Webhook

Create a repository webhook

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Callback URLThe URL where webhook events will be sent.
EventsThe list of event types that will trigger the webhook.
Webhook SecretAn optional secret used to verify webhook authenticity. See GitHub's documentation for details.

Repos Delete Instance Webhooks

Delete all webhooks pointed at this instance

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.

Repos Delete Webhook

Delete a repository webhook by ID

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Hook IDThe unique identifier of the webhook.

Repos List For Org

List organization repositories

InputCommentsDefault
Connection
OrgThe organization name
TypeSpecifies the types of repositories you want returned
SortThe property to sort the results bycreated
DirectionThe order to sort by
Per PageThe number of results per page (max 100)30
PagePage number of the results to fetch1

Repos List Webhooks

List webhooks of a repository

InputCommentsDefault
Connection
OwnerThe account owner of the repository. For example, in https://github.com/octocat/Hello-World, the owner is 'octocat'.
Repository NameThe name of the repository. For example, in https://github.com/octocat/Hello-World, the repository name is 'Hello-World'.
Show only instance webhooksWhen true, shows only webhooks that point to this instance.true

Users Get Authenticated

Get the authenticated user

InputCommentsDefault
Connection

Users Get By Username

Get a user

InputCommentsDefault
Connection
UsernameThe GitHub username.