Skip to content

Latest commit

 

History

History
285 lines (254 loc) · 59.1 KB

File metadata and controls

285 lines (254 loc) · 59.1 KB

GitHub integration

{% hint style="info" %} If you’re new to integrations in Rewst, read through our introductory integration documentation here.

GitHub’s own documentation for registering an app can be found here. {% endhint %}

What does the GitHub integration do?

Our GitHub integration enables automation of GitHub’s version control system. Use GitHub’s API within Rewst workflows to automate aspects of version control in GitHub.

Integration use cases

  • Say you want to create a Crate that automatically backs up all workflow exports any time they change. You could use the GitHub integration to make a commit of each change of the file. This would give you a more fully featured option than Rewst’s built in version control.
  • Use this integration to set up a system for sharing workflows you’ve created with other Rewst customers. Create a public repository, and post exported repositories of your shareable workflows.

Set up the GitHub integration

Set up steps in GitHub

  1. Log in to the GitHub account linked to your organization.

Set up steps in Rewst

  1. Navigate to Configuration > Integrations in the left side menu of your Rewst platform.

  2. In the Integrations page, search for the GitHub integration.

  3. Click the integration tile to launch the Configuration setup page.

  4. Enter the following in the relevant fields of the form:

    1. The Name that will be used to refer to the integration configuration
    2. Description: this is optional.
    3. Check the Is Default checkbox.
    4. Organization Name: make sure that this is exact to how your organization name appears in GitHub.
  5. Click Save Configuration.

  6. Click Authorize.

  7. Click Continue next to your desired installation location, from the list in the dialog that appears. The dialog will contain a list of organizations. It’s important that you choose the organization to match the one you entered for the organization name of the Rewst configuration form.

    \

  8. Click Install & Authorize.

  9. A green confirmation message will appear at the top of your screen. Now, the configuration form will have an option to Re-Authorize.

Test the Integration

Whenever you save configuration and reauthorize, Rewst will run a test action to make sure the integration is working.\

For additional testing, click the Refresh Options button under the Organization Mapping section of the integration configuration page. This will return a list of repositories accessible by that organization.

Troubleshoot the GitHub integration

{% hint style="warning" %} The below error may also happen if you attempt to install the GitHub integration on multiple Rewst orgs using the same GitHub org.

If you encounter any errors, contact us in your Discord support channel for assistance. {% endhint %}

If you uninstall the GitHub integration in Rewst but don’t uninstall our GitHub App in your organization, any attempt to re-install and authorize the integration will fail, and you’ll be stuck at this screen:\

To fix this failure:

  1. Log in to GitHub.
  2. Find the installed GitHub App.
  3. Click the Configure button.
  4. Uninstall the app. You should now be able to re-authorize in Rewst, and the GitHub App will be reinstalled once successful.

GitHub actions and endpoints

{% hint style="info" %} For more on how actions work in Rewst, check out our introductory actions documentation here. {% endhint %}

Category Action Description
Billing Get Github Actions Billing For An Organization Gets the summary of the free and paid GitHub Actions minutes used. Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners.
Billing Get Github Packages Billing For An Organization Gets the free and paid storage used for GitHub Packages in gigabytes. Paid minutes only apply to packages stored for private repositories.
Billing Get Shared Storage Billing For An Organization Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. Paid minutes only apply to packages stored for private repositories.
Billing Get Github Actions Billing For a User Gets the summary of the free and paid GitHub Actions minutes used. Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners.
Billing Get Github Packages Billing For a User Gets the free and paid storage used for GitHub Packages in gigabytes. Paid minutes only apply to packages stored for private repositories.
Billing Get Shared Storage Billing For a User Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages. Paid minutes only apply to packages stored for private repositories.
Checks Create a Check Run Creates a new check run for a specific commit in a repository. To create a check run, you must use a GitHub App. OAuth apps and authenticated users are not able to create a check suite.
Checks Get a Check Run Gets a single check run using its id. Note: The Checks API only looks for pushes in the repository where the check suite or check run were created.
Checks Update a Check Run Updates a check run for a specific commit in a repository. Note: The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created.
Checks Rerequest a Check Run Triggers GitHub to rerequest an existing check run, without pushing new code. This triggers the check_run webhook event with the action rerequested.
Checks List Check Runs In a Check Suite Lists check runs for a check suite by its id. Note: The endpoints to manage checks only look for pushes in the repository where the check suite or check run were created.
Checks Rerequest a Check Suite Triggers GitHub to rerequest an existing check suite, without pushing new code. This triggers the check_suite webhook event with action rerequested.
Code Scanning List Code Scanning Alerts For An Organization Lists code scanning alerts for the default branch of all eligible repositories in an organization. Eligible repos are those you own or for which you are a security manager.
Code Scanning List Code Scanning Alerts For a Repository Lists code scanning alerts. The response includes a most_recent_instance object describing the alert's latest instance for the default branch or specified ref.
Code Scanning List Code Scanning Analyses For a Repository Lists details of all code scanning analyses for a repository, starting with the most recent. Paginated via page and per_page.
Code Scanning Get a Code Scanning Analysis For a Repository Gets a specified code scanning analysis for a repository. The default JSON response includes fields describing the analysis.
Copilot Get Copilot Seat Information And Settings For An Organization Note: Beta endpoint. Gets info about an organization's Copilot subscription, including seat counts and code matching policies.
Copilot List All Copilot Seat Assignments For An Organization Note: Beta endpoint. Lists all Copilot seat assignments being billed in the organization, whether active or pending cancellation.
Copilot Add Teams To The Copilot Subscription For An Organization Note: Beta endpoint. Purchases a Copilot seat for all users in each specified team. The org is billed accordingly.
Copilot Remove Teams From The Copilot Subscription For An Organization Note: Beta endpoint. Cancels the Copilot seat assignment for all members of each specified team.
Copilot Add Users To The Copilot Subscription For An Organization Note: Beta endpoint. Purchases a Copilot seat for each specified user. The org is billed accordingly.
Copilot Remove Users From The Copilot Subscription For An Organization Note: Beta endpoint. Cancels the Copilot seat assignment for each specified user.
Copilot Get Copilot Seat Assignment Details For a User Note: Beta endpoint. Gets the Copilot seat assignment details for an org member who has access to Copilot.
Dependabot List Dependabot Alerts For An Enterprise Lists Dependabot alerts for repositories owned by the specified enterprise. The authenticated user must be an enterprise member.
Dependabot List Dependabot Alerts For An Organization Lists Dependabot alerts for an organization. The user must be an org owner or security manager.
Dependabot List Dependabot Alerts For a Repository Tokens need the security_events scope (or public_repo for public) to list alerts.
Dependabot Get a Dependabot Alert Tokens need security_events scope for private repos or public_repo for public. Gets a specified Dependabot alert.
Generic Request Github API Request Generic action to make authenticated requests against the GitHub API.
Gists List Gists For The Authenticated User Lists the authenticated user's gists or all public gists if anonymous.
Gists Create a Gist Creates a gist with one or more files. Note: Don't name files gistfile plus a numeric suffix, as Gist uses that internally.
Gists List Public Gists Lists public gists, sorted most recent first.
Gists List Starred Gists Lists the authenticated user's starred gists.
Gists Get a Gist Gets a specified gist. This endpoint supports custom media types.
Gists Delete a Gist Deletes a gist by ID.
Gists Update a Gist Updates a gist's description or files. Unchanged files remain the same.
Gists List Gist Comments Lists comments on a gist. This endpoint supports custom media types.
Gists Create a Gist Comment Creates a comment on a gist. This endpoint supports custom media types.
Gists Get a Gist Comment Gets a gist comment. This endpoint supports custom media types.
Gists Delete a Gist Comment Deletes a gist comment. Must be the comment author or have repo admin access.
Gists Update a Gist Comment Updates a gist comment. This endpoint supports custom media types.
Gists Get a Gist Revision Gets a specific gist revision. This endpoint supports custom media types.
Gists List Gists For a User Lists public gists for the specified user.
Git Create a Commit Creates a new Git commit object. The response includes a verification object describing commit signature verification.
Git Get a Commit Object Gets a Git commit object.
Git List Matching References Returns references from your Git database matching a given name.
Git Get a Reference Returns a single reference. The :ref must be heads/ for branches or tags/ for tags.
Git Create a Reference Creates a reference. You cannot create references in empty repos (no branches).
Git Delete a Reference Deletes a reference. Returns 204 if successful, or 403 if blocked by branch protection.
Git Update a Reference Moves a branch or tag reference to another commit. Returns 200 if successful.
Git Create a Tag Object Note that creating a tag object does not create the actual tag reference.
Git Get a Tag Includes a verification object describing the commit signature verification.
Git Create a Tree Accepts nested entries. If you specify both a tree and a nested path modifying that tree, it overwrites and creates a new tree structure.
Git Get a Tree Returns a tree using its SHA or ref. If truncated is true, the item count exceeded the max limit.
Issues List Issues Assigned To The Authenticated User Lists issues assigned to the authenticated user across all visible repositories.
Issues List Organization Issues Assigned To The Authenticated User Lists issues in an organization assigned to the authenticated user. Note: All pull requests are issues, but not all issues are pull requests.
Issues List Assignees Lists available assignees for issues in a repository.
Issues List Repository Issues Lists open issues in a repository. Note: All pull requests are issues, but not all issues are pull requests.
Issues Create An Issue Users with pull access can create an issue. 410 Gone if issues are disabled.
Issues Get An Issue Returns 301 Moved Permanently if the issue was transferred to another repository.
Issues Update An Issue Owners and push-access users can edit an issue.
Issues Add Assignees To An Issue Adds up to 10 assignees to an issue. Already assigned users stay assigned.
Issues Remove Assignees From An Issue Removes one or more assignees from an issue.
Issues Create An Issue Comment Creates a comment on an issue or pull request. (Pull requests are issues, but not all issues are PRs.)
Licenses List All Commonly Used Licenses Lists the most commonly used GitHub licenses.
Licenses Get a License Gets information about a specific license.
Licenses Get The License For a Repository Returns the contents of the license file in a repository, if one is detected.
Orgs List Organizations Lists organizations in the order they were created on GitHub.
Orgs Get Organization information Retrieves details about your organization.
Orgs Delete Your Organization Deletes your organization and all its repositories.
Orgs Update your Organization Parameter Deprecation: Replaces members_allowed_repository_creation_type with granular permissions.
Orgs List Organization Webhooks Lists webhooks for your organization. You must be an org owner to list them.
Orgs Create An Organization Webhook Creates a webhook for your organization (e.g., with JSON payloads).
Orgs Get An Organization Webhook Returns a configured webhook in your organization.
Orgs Delete An Organization Webhook Deletes a webhook in your org. Must have admin permissions.
Orgs Update An Organization Webhook Updates a webhook in your org. Overwrites secret if provided.
Orgs Get a Webhook Configuration For your Organization Returns the config of a webhook in your org.
Orgs Update a Webhook Configuration For your Organization Updates only the config fields of an org webhook.
Orgs Create An Organization Invitation Invites users by GitHub user ID or email. Must be an org owner.
Orgs Cancel An Organization Invitation Cancels an invitation. Must be an org owner.
Orgs List Organization Invitation Teams Lists all teams associated with an invitation. Must be an org owner.
Orgs List Organization Members Lists all users in your organization, including concealed and public members if you are also a member.
Orgs Check Organization Membership For a User Checks if a user is a public or private member of an organization.
Orgs Remove An Organization Member Removes a user from the org (and all teams, repos).
Orgs Get Organization Membership For a User The authenticated user must be an org member to see another user's membership. Returns state to identify membership status.
Orgs Set Organization Membership For a User Only authenticated org owners can add or update a member's role.
Orgs Remove Organization Membership For a User Removes a user's membership. Must be an org owner.
Orgs Remove Public Organization Membership For The Authenticated User Removes the public membership of the authenticated user in the specified org (unless forced public).
Orgs List Organization Memberships For The Authenticated User Lists all org memberships for the authenticated user.
Orgs Get An Organization Membership For The Authenticated User If the authenticated user is active or pending in the org, returns membership info; otherwise 404.
Orgs Update Organization Membership For The Authenticated User Converts the authenticated user to an active member if they had a pending invitation.
Orgs List Organizations For The Authenticated User Lists all orgs the authenticated user belongs to.
Orgs List Organizations For a User Lists public organization memberships for a specified user.
Projects List Organization Projects Lists projects in an organization. 404 if disabled, 401/410 if insufficient privileges.
Projects Create An Organization Project Creates an organization project board. 410 if projects are disabled or no classic projects exist.
Projects Get a Project Card Gets information about a project card by card_id.
Projects Delete a Project Card Deletes a project card.
Projects Update An Existing Project Card Updates a project card. Returns 404 Not Found if projects are disabled, or 401/410 if insufficient privileges.
Projects Move a Project Card Moves a project card. Same potential error statuses.
Projects List Project Cards Lists the cards in a project column.
Projects Create a Project Card Creates a card in a column. Same error statuses if disabled or insufficient privileges.
Projects Get a Project Gets a project by id. Same error if disabled or insufficient privileges.
Projects Delete a Project Deletes a project board. 404 if disabled.
Projects Update a Project Updates a project board. 404 if disabled, 401/410 if no privileges.
Projects List Project Collaborators Lists collaborators for an organization project.
Projects Add Project Collaborator Adds a collaborator to an organization project with a permission level. Must be org owner or project admin.
Projects Remove User As a Collaborator Removes a collaborator from an organization project. Must be org owner or project admin.
Projects List Repository Projects Lists projects in a repository. 404 if disabled, 401/410 if no privileges.
Projects Create a Repository Project Creates a project board in a repository.
Projects Create a User Project Creates a user project board. 410 if user has no classic projects, 401/410 if no privileges.
Projects List User Projects Lists projects for a user.
Pulls List Pull Requests Lists pull requests in a specified repository.
Pulls Create a Pull Request Draft pull requests are in certain plans.
Pulls Get a Pull Request Gets a specified pull request (including draft PRs in some plans).
Pulls Update a Pull Request Updates a specified pull request (including draft PRs).
Pulls List Commits On a Pull Request Lists up to 250 commits for a pull request.
Pulls List Pull Requests Files Lists the files in a specified pull request.
Pulls Check If a Pull Request Has Been Merged Checks if a pull request has merged into the base branch. The response body is empty; the HTTP status indicates result.
Pulls Merge a Pull Request Merges a pull request into the base branch.
Pulls Get All Requested Reviewers For a Pull Request Gets the users/teams requested to review a pull request. Once they submit a review, they're no longer a "requested reviewer."
Pulls Request Reviewers For a Pull Request Requests reviews from a set of users and/or teams on a pull request.
Repos List Organization Repositories Lists repositories for a specified organization.
Repos Create An Organization Repository Creates a new repository in your organization. The authenticated user must be a member.
Repos Get a Repository If the repository is a fork, includes parent and source.
Repos Delete a Repository Requires admin access.
Repos Update a Repository Note: to edit repository topics, use "Replace all repository topics."
Repos List Repository Activities Lists a history of changes in a repository (pushes, merges, force pushes), associating them with commits and users.
Repos List Branches Lists all branches in a repository, including commit data and branch protection status.
Repos List Commits The response includes a verification object to describe commit signature verification.
Repos List Pull Requests Associated With a Commit Lists the merged pull request that introduced the commit. If the commit is not on the default branch, only open PRs with that commit are returned.
Repos Get a Commit Returns the contents of a single commit reference if you have read access.
Repos Compare Two Commits Compares two commits.
Repos Get Repository Content Gets the contents of a file/directory by path. Omit path to get the root directory.
Repos List Repository Contributors Lists contributors, sorted by number of commits in descending order.
Repos List Repository Webhooks Lists webhooks for a repository. last response can be null if no deliveries in 30 days.
Repos Create a Repository Webhook Creates a webhook in a repository. Multiple hooks can share the same config if their events don't overlap.
Repos Get a Repository Webhook Returns a configured webhook in a repository.
Repos Delete a Repository Webhook Deletes a webhook. You can use X-GitHub-Hook-ID to identify the webhook.
Repos Update a Repository Webhook Updates a webhook's configuration in a repository. Overwrites the secret if provided.
Repos Get a Webhook Configuration For a Repository Returns only the config fields for the repository webhook.
Repos Update a Webhook Configuration For a Repository Updates only the config fields for a repository webhook.
Repos Sync a Fork Branch With The Upstream Repository Syncs a branch of a fork to keep it current with the upstream repository.
Repos Merge a Branch Merges one branch into another using a merge commit. This can be within the same repo or from a fork to the parent.
Repos List Releases Lists releases, excluding unassociated Git tags.
Repos Create a Release Users with push access can create a release.
Repos Get a Release Asset To download the asset's binary content, set Accept to application/octet-stream.
Repos Delete a Release Asset Deletes a release asset. Must have push access.
Repos Update a Release Asset Edits a release asset. Must have push access.
Repos Generate Release Notes Content For a Release Generates a name and body describing a release, including changes since the last release.
Repos Get The Latest Release Gets the latest published full release.
Repos Get a Release By Tag Name Gets a published release corresponding to a given tag.
Repos Get a Release Gets a public release by release ID.
Repos Delete a Release Users with push access can delete a release.
Repos Update a Release Users with push access can edit a release.
Repos List Release Assets Lists assets for a release, including the upload URL.
Repos Upload a Release Asset Uses a Hypermedia relation to determine the correct upload URL.
Repos List Public Repositories Lists all public repositories in the order they were created.
Repos List Repositories For The Authenticated User Lists repositories the authenticated user has explicit read, write, or admin permission to access.
Repos Create a Repository For The Authenticated User Creates a repo for the authenticated user. If you want public repos, use public_repo; for private, use repo.
Repos List Repositories For a User Lists public repositories for a specified user.
Search Search Code Searches for query terms in files. Returns up to 100 results per page.
Search Search Commits Searches commits by various criteria on the default branch. Up to 100 results per page.
Search Search Issues And Pull Requests Finds issues by state and keyword. Up to 100 results per page.
Search Search Labels Finds labels in a repository, by name or description. Up to 100 results per page.
Search Search Repositories Finds repositories by criteria. Up to 100 results per page.
Search Search Topics Finds topics by criteria, sorted by best match. Up to 100 results per page.
Search Search Users Finds users by various criteria. Up to 100 results per page.
Security Advisories List Global Security Advisories Lists global security advisories matching parameters. Defaults to GitHub-reviewed, non-malware advisories if no parameters are set.
Security Advisories Get a Global Security Advisory Gets a global advisory by GHSA ID.
Security Advisories List Repository Security Advisories For An Organization Lists repository security advisories for an organization.
Security Advisories List Repository Security Advisories Lists security advisories in a repository.
Teams List Teams Lists all teams in an org that are visible to the authenticated user.
Teams Create a Team Creates a team. The user must be an org owner/member (depending on org settings).
Teams Get a Team By Name Gets a team using its team_slug, derived from the name.
Teams Delete a Team Deletes a team. Must be an org owner or team maintainer. Deleting a parent team also deletes its child teams.
Teams Update a Team Edits a team. Must be an org owner or team maintainer.
Teams List Team Members Lists members of a team, including child team members.
Teams Get Team Membership For a User Gets a user's membership with a team. The team must be visible to the authenticated user.
Teams Add Or Update Team Membership For a User Adds or updates a user's membership in a team. The user must be in the org; you must be an org owner or team maintainer.
Teams Remove Team Membership For a User Removes membership for a user from a team. Must be an org owner or team maintainer.
Teams List Team Projects Lists org projects associated with a team.
Teams Add Or Update Team Project Permissions Adds or updates a team's permission level for an org project. Must have admin on the project.
Teams Remove a Project From a Team Removes an org project from a team. Must be an org owner or team maintainer.
Teams List Team Repositories Lists a team's repositories visible to the authenticated user.
Teams Check Team Permissions For a Repository Checks if a team has certain permissions (admin, push, pull, etc.) on a repository. Inherited repos from a parent team are also checked.
Teams Add Or Update Team Repository Permissions Adds or updates the team's permission on a repository, provided the user has admin access to that repo.
Teams Remove a Repository From a Team Removes a repository from a team. Must be an org owner or team maintainer.
Teams List Child Teams Lists child teams of a specified team.
Teams List Teams For The Authenticated User Lists all teams across orgs the authenticated user belongs to. Token scope user, repo, or read:org is required.
Users Get The Authenticated User OAuth apps and PATs need the user scope to include private profile info.
Users Update The Authenticated User Note: If your email is private and you include email, that email won't be displayed publicly.
Users Block a User Blocks a user, returning 204 if successful or 422 if blocking fails.
Users Unblock a User Unblocks a user, returning 204.
Users List Users Lists all users (and orgs) by signup date.
Users Get a User Provides publicly visible info about a GitHub account. The email is the publicly visible one from the profile page.

{% hint style="info" %} Got an idea for a new Integration? Rewst is constantly adding new integrations to our integrations page. Submit your idea or upvote existing ideas here in our Canny feedback collector. {% endhint %}