GitHub is a hosting service for software development and version control using Git.
Data integration: Skyvia supports importing data to and from GitHub, exporting GitHub data to CSV files, replicating GitHub data to relational databases, and synchronizing GitHub data with other cloud apps and relational databases.
Backup: Skyvia Backup does not support GitHub.
Query: Skyvia Query supports GitHub.
To create a connection to GitHub, sign in to GitHub via OAuth 2.0.
Click Sign In with GitHub in the Connection Editor.
- In the opened window, enter your GitHub credentials.
Click Authorize SkyviaApp to continue.
- Enter the Username.
Additional Connection Parameters
Suppress Extended Requests
For some GitHub objects, Skyvia performs additional extended requests. Skyvia performs such API requests for each record of such an object. However, this can decrease performance and significantly increase the number of API calls used.
The additional fields are the following:
|Organizations||Name, Company, Blog, Location, Type, Email, TwitterUsername, TotalPrivateRepos, OwnedPrivateRepos, PrivateGists, DiskUsage, Collaborators, IsVerified, HasOrganizationProjects, HasRepositoryProjects, PublicRepos, PublicGists, BillingEmail, Plan_Name, Plan_Space, Plan_PrivateRepos, Plan_FilledSeats, Plan_Seats, DefaultRepositoryPermission, MembersAllowedRepositoryCreationType, MembersCanCreateRepositories, TwoFactorRequirementEnabled, MembersCanCreatePublicRepositories, MembersCanCreatePrivateRepositories, MembersCanCreateInternalRepositories, MembersCanCreatePages, MembersCanForkPrivateRepositories|
You can select the Suppress Extended Requests checkbox to reduce the number of API calls.
The Repositories object returns only the user’s repositories specified in the connection settings.
The Name field of the Repositorylabels object is its primary key. Together with that, you can update the repository name. When mapping, specify the new name value in the NewName field.
The RepositoryMilestones object has a composite primary key consisting of the RepositoryName and Number fields. You must map both of these fields when performing UPDATE and DELETE operations.
When you insert records to the RepositoryMilestones object, the RepositoryName field values do not return in the integration run log.
Use this object to view the list of files added to a repository in the branch.
To get a list of files from the nested folders, filter by the PathFilter or Path field.
DML Operations Support
|INSERT, UPDATE, DELETE||Releases, Repositories, RepositoryIssueComments, RepositoryLabels, RepositoryMilestones, RepositoryProjects|
|UPDATE, DELETE||Invitations, RepositoryComments, UserProjects|
Incremental Replication and Synchronization
Skyvia supports Replication with Incremental Updates for the RepositoryIssues, RepositoryIssueComments, Repositories, RepositoryPullRequests, RepositoryMilestones, RepositoryIssueEvents, RepositoryFork, RepositoryComments, UserAuthenticated, UserProjects, Invitations, ReleaseAssets, and RepositoryProjects objects.
Skyvia supports Synchronization for the RepositoryIssueComments, RepositoryProjects, and UserProjects objects only.
Skyvia represents part of the supported GitHub features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.
To insert file, use the command
|Path||Name of the file to be added|
|Message||text of the commit message|
|Branch||Default value is main. Branch to add a file into|
To update the file, use the command
|Path||Name of the file to be updated|
|Message||Text of the commit message|
|Branch||Default value is main. The branch where you update a file|
|Sha||The blob SHA of the file being replaced|
To delete the file, use the command
|Path||Name of the file to be deleted|
|Message||Text of the commit message|
|Branch||Default value is main. Branch where you delete a file|
|Sha||The blob SHA of the file being deleted|
Skyvia supports all the common actions for GitHub.