On this page

GitHub Issues Airdrop

To ease the transition from GitHub issues to DevRev, you can import and sync GitHub issues with DevRev. There are currently two versions of the GitHub Airdrop integration available:

Legacy GitHub Airdrop (deprecated)

icon

The legacy GitHub Airdrop is deprecated and will be removed soon. While existing imports will continue to function for some time after removal, no new imports can be created once the feature is removed. We strongly recommend using the new GitHub Airdrop for all new implementations.

There is no automatic migration path from legacy to new GitHub Airdrop. To switch to the new version, you must delete your existing import and create a new one using the new GitHub Airdrop.

Click here to view legacy GitHub Airdrop documentation

New GitHub Airdrop

The new GitHub Airdrop provides enhanced functionality including bi-directional synchronization between DevRev and GitHub.

Key differences from legacy version

  • Bi-directional Sync: Changes can be synchronized in both directions between DevRev and GitHub
  • Enhanced Field Mapping: Improved field mapping capabilities

Supported objects

GitHub ObjectDevRev ObjectSync to DevRevSync to GitHub
IssueIssue
Comment on IssueComment on Issue
Label on IssueTag on Issue
Attachment on IssueAttachment on Issue
UserDevUser
ProjectEnhancement

Importing from GitHub

icon

DevRev highly recommends creating a new dedicated GitHub account when setting up GitHub for 2-way sync. All issues and comments created in GitHub are done with this account.

  1. Create a GitHub PAT token with the account that will be used to set up the Airdrop.
    • Minimum required permissions are READ + WRITE Issues and READ + WRITE Pull Requests
  2. Go to Settings > Integrations > Snap-ins and install GitHub Issues.
    • Note there may an existing GitHub Issues already added, if so Add the other.
  3. Go to Settings > Integrations > Airdrops and click Start Airdrop or Airdrop.
  4. Under the Snap-ins tab, select GitHub.
    • If this isn't available, install the Snap-in as described in step 2.
    • Do not select the legacy GitHub under "Native to DevRev".
  5. Follow the prompt and create a connection providing the GitHub PAT token and the GitHub organization name when creating a new connection.
  6. A recipe is presented where you select what data to import and how to map it. The recommended values are preselected.

Post-import options

After a successful import, you have these options for each imported repository:

  • Sync Snap-ins to DevRev
    • Synchronize modifications made in GitHub with corresponding items in DevRev
    • Creates new items in DevRev for any new issues or comments created in GitHub
  • Sync DevRev to Snap-ins
    • Synchronize changes made in DevRev back to GitHub
    • New issues created in DevRev can be automatically created in GitHub
  • Periodic Sync
    • By enabling this option, you can automatically sync new changes from GitHub to DevRev periodically. The default frequency is once an hour.
  • View Report
    • This option allows you to access detailed information about the initial import and any subsequent syncs performed.
  • Delete Import
    • If you wish to remove the import and all items that were imported from GitHub into DevRev, you can use this option.
  • Edit Connection
    • Use this option to change the connection used for any subsequent actions. It can be helpful if a connection becomes inactive or the user who established it is no longer available.

Legacy GitHub Airdrop

icon

This section describes the legacy GitHub Airdrop functionality. This version is deprecated and will be removed soon. Please use the new GitHub Airdrop for all new implementations.

Supported objects

The following is a list of GitHub objects and their corresponding DevRev equivalent. Those marked as Supported are eligible for import.

GitHubDevRevSupported
IssueIssue
Comment on IssueComment on Issue
Label on IssueTag on Issue
Milestone on IssueTag on Issue
Attachment on IssueAttachment on Issue
UserDevUser
ProjectEnhancement

Importing from GitHub

Follow the steps below to import from GitHub:

icon

For best results, Airdrops should be done using an administrator account on the external source. This ensures all necessary permissions are available to complete the import successfully.

  1. Go to Settings > Integrations > Airdrops and click Start Airdrop or Airdrop.
  2. Create a new connection to your GitHub account, or use an existing connection if you already have one.
  3. Once the connection is established, select the GitHub repositories you want to import and specify the DevRev part where the imported issues should be created. This initiates a bulk import of the selected repositories.
  4. DevRev makes an effort to automatically map the fields from GitHub to corresponding fields in DevRev. However, you may be prompted to manually map certain fields if needed.

The duration of the import depends on the number of issues being imported. It can take seconds for a few dozen issues to hours for tens of thousands of issues with many attachments. DevRev honors the GitHub API rate limits, it backs off and resumes automatically.

Post import options

After a successful import, you have these options added for each imported repository:

  • Sync to DevRev
    • This option allows you to synchronize any modifications made in GitHub with the corresponding items previously imported into DevRev. It also creates new items in DevRev for any new issues or users created in GitHub after the last sync or import.
  • Periodic Sync
    • By enabling this option, you can automatically sync new changes from GitHub to DevRev periodically. The default frequency is once an hour.
  • View Report
    • This option allows you to access detailed information about the initial import and any subsequent syncs performed.
  • Delete Import
    • If you wish to remove the import and all items that were imported from GitHub into DevRev, you can use this option.
  • Edit Connection
    • Use this option to change the connection used for any subsequent actions. It can be helpful if a connection becomes inactive or the user who established it is no longer available.

Sync to DevRev

After a successful import from a GitHub repository, you can choose to sync the imported data with DevRev. This feature airdrops any new issues and any changes made to previously imported issues from GitHub.

To perform a one-time sync to DevRev, follow these steps:

  1. Go to Settings > Integrations > Airdrops.
  2. Locate the previously imported repository.
  3. Select the > ⇾ From GitHub to DevRev option.
icon

Please be aware that this may override fields in previously imported items, even if they were modified in DevRev.

Historical Airdrops

To view currently running and previous Airdrops from various sources, do the following:

  1. Go to Settings > Integrations > Airdrops.
  2. Select the import you want to view.
  3. Click on the context menu (⋮) and select View Report.

Periodic sync

After successfully importing to DevRev, you have the option to enable a periodic sync. This allows for automatic synchronization with DevRev on a regular basis. By default, the sync occurs once an hour.

To configure periodic sync, follow these steps:

  1. Go to Settings > Integrations > Airdrops.
  2. Locate the previously imported project.
  3. Select the > Set Periodic Sync option.

The Enable automations for synced items setting is optional and can be activated during periodic sync configuration. When enabled, newly created or updated items trigger events, which can initiate webhooks, notifications, Snap-ins, and other processes, as if the events originated directly in DevRev.

If this setting is disabled, updates will not trigger any event-driven processes. This behavior applies only to periodic syncs; no events are triggered during a first-time import or manual sync to or from DevRev.

Delete import

icon

This deletes any content created by the import, including users and works.

An import and all the content it creates can be deleted from DevRev. This can be useful when running POCs or to change the recipe used during the import. Once an import has been deleted, all the content it created gets deleted, even if they were modified in DevRev. It's possible to import the project again after its deletion.

To delete an import and all the content it created, go to Settings > Integrations > Airdrops, find the previously imported project, and select > Delete Import.