GitHub Integration with Orkes Conductor
- 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:
- Get the required credentials from GitHub.
- Configure a new GitHub integration in Orkes Conductor.
- 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:
- Sign in to GitHub.
- Select the user profile icon on the top right corner and select Settings.
- Scroll down and select Developer settings > Personal access tokens > Tokens (classic).
- Select Generate new token > Generate new token (classic).
- Give the token a descriptive name and set an expiration.
- 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
- 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:
- Go to Integrations > Connected Apps from the left navigation menu on your Conductor cluster.
- Select + New integration.
- In the Source Control section, choose GitHub.
- Select + Add and enter the following parameters:
| Parameter | Description | Required/Optional |
|---|---|---|
| Integration name | A name for the integration. | Required. |
| Personal Access Token (API Key) | The GitHub Personal Access Token generated in Step 1. | Required. |
| Base URL | GitHub 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. |
| Description | A description of the integration. | Required. |

- (Optional) Toggle the Active button off if you don’t want to activate the integration instantly.
- 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:
- Go to Definitions > Workflow from the left navigation menu on your Conductor cluster.
- Select + Define workflow.
- In your workflow, select the (+) icon and select Connected Apps.

- 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.
| Operation | Description |
|---|---|
| Get Current User | Retrieves the authenticated GitHub user's profile information. |
| List Repositories | Lists the repositories accessible to the authenticated user. |
| List Organization Repositories | Lists the repositories for a specific organization. |
| Get Repository | Retrieves the details of a specific repository. |
| Create Repository | Creates a new repository for the authenticated user. |
| Fork Repository | Forks a repository to the authenticated user's account. |
| Star Repository | Stars a repository for the authenticated user. |
| Unstar Repository | Unstars a repository for the authenticated user. |
| Search Repositories | Searches for repositories on GitHub matching the specified query. |
| Search Code | Searches for code across GitHub repositories matching the specified query. |
| List Issues | Lists the issues in a repository. |
| Get Issue | Retrieves the details of a specific issue. |
| Create Issue | Creates a new issue in a repository. |
| Update Issue | Updates an existing issue in a repository. |
| Add Issue Comment | Adds a comment to an issue. |
| List Issue Comments | Retrieves the comments for an issue. |
| Get Parent Issue | Retrieves the parent issue of a sub-issue. |
| Add Sub Issue | Links an existing issue as a child (sub-issue) of another existing issue. |
| Remove Sub Issue | Removes a sub-issue from an issue. |
| Search Issues | Searches for issues on GitHub matching the specified query. |
| List Commits | Lists the commits in a repository. |
| Get Commit | Retrieves the details of a specific commit. |
| List Branches | Lists the branches in a repository. |
| Create Branch | Creates a new branch in a repository. |
| Get File Contents | Retrieves the contents of a file or directory in a repository. |
| Create or Update File | Creates or updates a file in a repository. |
| Push Files | Pushes multiple files to a repository in a single commit. |
| Delete File | Deletes a file from a repository. |
| List Pull Requests | Lists the pull requests in a repository. |
| Get Pull Request | Retrieves the details of a specific pull request. |
| Create Pull Request | Creates a new pull request in a repository. |
| Update Pull Request | Updates an existing pull request. |
| Merge Pull Request | Merges a pull request in a repository. |
| Search Pull Requests | Searches for pull requests on GitHub matching the specified query. |
| List Pull Request Files | Lists the files changed in a pull request. |
| List Pull Request Reviews | Retrieves the reviews for a pull request. |
| List Pull Request Review Comments | Retrieves the review comments for a pull request. |
| Create Pending Review | Creates a pending review for a pull request. The review is not submitted until the Submit Pending Review operation is called. |
| Add Pending Review Comment | Adds a review comment to a pull request. Replaces any existing pending review. |
| Submit Pending Review | Submits a pending pull request review. |
| List Releases | Lists the releases in a repository. |
| Get Latest Release | Retrieves the latest published release in a repository. |
| Get Release by Tag | Retrieves a release by its tag name. |
| Create Release | Creates a new release in a repository. |
| Update Release | Updates an existing release in a repository. |
| Delete Release | Deletes a release from a repository. |
| List Tags | Lists the tags in a repository. |
| Get Tag | Retrieves a specific tag by name. |
| List Workflows | Lists the GitHub Actions workflows in a repository. |
| List Workflow Runs | Lists the workflow runs for a repository or a specific workflow. |
| Get Workflow Run | Retrieves the details of a specific workflow run. |
| Run Workflow | Triggers a workflow dispatch event to run a GitHub Actions workflow. |
| Disable Workflow | Disables a GitHub Actions workflow. |
| Enable Workflow | Enables a disabled GitHub Actions workflow. |
| Get Workflow Usage | Retrieves the usage statistics and billing information for a GitHub Actions workflow. |
| List Teams | Lists the teams for the authenticated user across all organizations. |
| List Team Members | Retrieves the members of a team in an organization. |
| List Notifications | Lists the notifications for the authenticated user. |
| Mark Notifications Read | Marks all notifications as read for the authenticated user. |
- Select the required operation, configure the parameters, and select Save > Confirm.
- Select Execute to run the workflow.
For the complete operations parameters and output reference, see GitHub Operations Reference.