Skip to main content

GitHub Integration with Orkes Conductor

Available since
  • v5.3.0 and later

Integrating GitHub with Orkes Conductor lets you build workflows that interact with your GitHub repositories by managing issues, pull requests, branches, files, releases, workflows, and more.

This guide explains how to set up and use the integration. Here’s an overview:

  1. Get the required credentials from GitHub.
  2. Configure a new GitHub integration in Orkes Conductor.
  3. Use GitHub integration in workflows.

Step 1: Get the GitHub credentials

To integrate GitHub with Orkes Conductor, generate a Personal Access Token (classic) from GitHub.

To generate the token:

  1. Sign in to GitHub.
  2. Select the user profile icon on the top right corner and select Settings.
  3. Scroll down and select Developer settings > Personal access tokens > Tokens (classic).
  4. Select Generate new token > Generate new token (classic).
  5. Give the token a descriptive name and set an expiration.
  6. Select the scopes as per your requirements:
    • repo: Full control of private repositories
    • workflow: Update GitHub Actions workflows
    • read:org: Read organization data
    • read:user: Read user profile data
    • user:email: Access user email addresses
  7. Select Generate token and copy it immediately as it won't be shown again.

Step 2: Add an integration for GitHub

After obtaining the credentials, add a GitHub integration to your Conductor cluster.

To create an integration:

  1. Go to Integrations > Connected Apps from the left navigation menu on your Conductor cluster.
  2. Select + New integration.
  3. In the Source Control section, choose GitHub.
  4. Select + Add and enter the following parameters:
ParameterDescriptionRequired/Optional
Integration nameA name for the integration.Required.
Personal Access Token (API Key)The GitHub Personal Access Token generated in Step 1.Required.
Base URLGitHub API Base URL. Use https://api.github.com for GitHub.com, or https://github.yourcompany.com/api/v3 for GitHub Enterprise. Defaults to https://api.github.com.Required.
DescriptionA description of the integration.Required.

GitHub Integration with Orkes Conductor

  1. (Optional) Toggle the Active button off if you don’t want to activate the integration instantly.
  2. Select Save.

The integration is created successfully.

Step 3: Use GitHub integration in workflows

Once the integration is ready, this can be used directly within the workflows.

To use GitHub integration in a workflow:

  1. Go to Definitions > Workflow from the left navigation menu on your Conductor cluster.
  2. Select + Define workflow.
  3. In your workflow, select the (+) icon and select Connected Apps.

Adding GitHub Integration in Conductor workflow

  1. In Add Task panel on the right, search for GitHub, and select the integration created in Step 2.

The following operations are available for use with this integration.

OperationDescription
Get Current UserRetrieves the authenticated GitHub user's profile information.
List RepositoriesLists the repositories accessible to the authenticated user.
List Organization RepositoriesLists the repositories for a specific organization.
Get RepositoryRetrieves the details of a specific repository.
Create RepositoryCreates a new repository for the authenticated user.
Fork RepositoryForks a repository to the authenticated user's account.
Star RepositoryStars a repository for the authenticated user.
Unstar RepositoryUnstars a repository for the authenticated user.
Search RepositoriesSearches for repositories on GitHub matching the specified query.
Search CodeSearches for code across GitHub repositories matching the specified query.
List IssuesLists the issues in a repository.
Get IssueRetrieves the details of a specific issue.
Create IssueCreates a new issue in a repository.
Update IssueUpdates an existing issue in a repository.
Add Issue CommentAdds a comment to an issue.
List Issue CommentsRetrieves the comments for an issue.
Get Parent IssueRetrieves the parent issue of a sub-issue.
Add Sub IssueLinks an existing issue as a child (sub-issue) of another existing issue.
Remove Sub IssueRemoves a sub-issue from an issue.
Search IssuesSearches for issues on GitHub matching the specified query.
List CommitsLists the commits in a repository.
Get CommitRetrieves the details of a specific commit.
List BranchesLists the branches in a repository.
Create BranchCreates a new branch in a repository.
Get File ContentsRetrieves the contents of a file or directory in a repository.
Create or Update FileCreates or updates a file in a repository.
Push FilesPushes multiple files to a repository in a single commit.
Delete FileDeletes a file from a repository.
List Pull RequestsLists the pull requests in a repository.
Get Pull RequestRetrieves the details of a specific pull request.
Create Pull RequestCreates a new pull request in a repository.
Update Pull RequestUpdates an existing pull request.
Merge Pull RequestMerges a pull request in a repository.
Search Pull RequestsSearches for pull requests on GitHub matching the specified query.
List Pull Request FilesLists the files changed in a pull request.
List Pull Request ReviewsRetrieves the reviews for a pull request.
List Pull Request Review CommentsRetrieves the review comments for a pull request.
Create Pending ReviewCreates a pending review for a pull request. The review is not submitted until the Submit Pending Review operation is called.
Add Pending Review CommentAdds a review comment to a pull request. Replaces any existing pending review.
Submit Pending ReviewSubmits a pending pull request review.
List ReleasesLists the releases in a repository.
Get Latest ReleaseRetrieves the latest published release in a repository.
Get Release by TagRetrieves a release by its tag name.
Create ReleaseCreates a new release in a repository.
Update ReleaseUpdates an existing release in a repository.
Delete ReleaseDeletes a release from a repository.
List TagsLists the tags in a repository.
Get TagRetrieves a specific tag by name.
List WorkflowsLists the GitHub Actions workflows in a repository.
List Workflow RunsLists the workflow runs for a repository or a specific workflow.
Get Workflow RunRetrieves the details of a specific workflow run.
Run WorkflowTriggers a workflow dispatch event to run a GitHub Actions workflow.
Disable WorkflowDisables a GitHub Actions workflow.
Enable WorkflowEnables a disabled GitHub Actions workflow.
Get Workflow UsageRetrieves the usage statistics and billing information for a GitHub Actions workflow.
List TeamsLists the teams for the authenticated user across all organizations.
List Team MembersRetrieves the members of a team in an organization.
List NotificationsLists the notifications for the authenticated user.
Mark Notifications ReadMarks all notifications as read for the authenticated user.
  1. Select the required operation, configure the parameters, and select Save > Confirm.
  2. Select Execute to run the workflow.

For the complete operations parameters and output reference, see GitHub Operations Reference.