GitHub
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.
Establishing Connection
To create a connection to GitHub, sign in to GitHub via OAuth 2.0.
Creating Connection
-
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:
OBJECT | FIELD |
---|---|
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.
Connector Specifics
Object Peculiarities
OrganizationMembers
To get data from this object, use filter by the Org field and specify the organization name. The Org field returns empty values when querying. Use this field for filtering only.
Repositories
The Repositories object returns only the user’s repositories specified in the connection settings.
Repositorylabels
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.
RepositoryMilestones
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.
RepositoryContents
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
Operation | Object |
---|---|
INSERT, UPDATE, DELETE | Gists, Releases, Repositories, RepositoryIssueComments, RepositoryLabels, RepositoryMilestones, RepositoryProjects, RepositoryPullRequestReviews |
INSERT, UPDATE | RepositoryIssues, RepositoryPullRequests |
UPDATE, DELETE | Invitations, RepositoryComments, UserProjects |
INSERT | ReleaseAssets, RepositoryFork |
UPDATE | Branches, RepositoryTopics |
Incremental Replication and Synchronization
Skyvia supports Replication with Incremental Updates for the Gists, RepositoryIssues, RepositoryIssueComments, Repositories, RepositoryPullRequests, RepositoryMilestones, RepositoryIssueEvents, RepositoryFork, RepositoryComments, UserAuthenticated, UserProjects, Invitations, ReleaseAssets, and RepositoryProjects objects.
Skyvia supports Synchronization for the Gists,RepositoryIssueComments, RepositoryProjects, and UserProjects objects.
Stored Procedures
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.
InsertFile
To insert file, use the command
call InsertFile(:reponame,:path,:message,:content,:branch)
PARAMETER NAME | DESCRIPTION |
---|---|
Reponame | Repository name |
Path | Name of the file to be added |
Message | text of the commit message |
Content | File body |
Branch | Default value is main. Branch to add a file into |
UpdateFile
To update the file, use the command
call UpdateFile(:reponame,:path,:message,:content,:branch,:sha)
PARAMETER NAME | DESCRIPTION |
---|---|
Reponame | Repository name |
Path | Name of the file to be updated |
Message | Text of the commit message |
Content | File body |
Branch | Default value is main. The branch where you update a file |
Sha | The blob SHA of the file being replaced |
Deletefile
To delete the file, use the command
call DeleteFile(:reponame,:path,:message,:branch,:sha)
PARAMETER NAME | DESCRIPTION |
---|---|
Reponame | Repository name |
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 |
Supported Actions
Skyvia supports all the common actions for GitHub.