Quickstart¶
Eager to get started? This page gives you a detailed introduction of how to use IGitt
ineterfaces to access data from various git hosting services.
First, make sure that you have installed IGitt
:
$ pip install IGitt
Also, each of the following example uses GitHub Token, So make sure you have generated a GitHub Token of your own. You can follow this tutorial for the same.
Now, put your GitHub Token in a variable name GH_TOKEN:
>>> GH_TOKEN = '3jfsdfhsdlfksdfvfvffgrgdfggg'
And make an IGitt
GitHub Token object which will be used throughout
every example:
>>> from IGitt.GitHub import GitHubToken
>>> gh_token = GitHubToken(GH_TOKEN)
Now, Let’s get going with the examples.
Organization¶
This section will show you how to use Organization
interface and its methods:
>>> from IGitt.GitHub.GitHubOrganization import GitHubOrganization
Now get the Organization
object as org:
>>> org_name = 'coala'
>>> org = GitHubOrganization(gh_token, org_name)
Get the web_url of the org:
>>> org.web_url
Get the description of the org:
>>> org.description
Get the number of registered users for the org:
>>> org.billable_users
Get all the owners to the org:
>>> owners = org.owners
>>> owners
Get a single owner:
>>> owners_list = []
>>> for owner in owners:
owners_list.append(owner)
>>> owner = owners_list[0]
Get the id of the single owner:
>>> owner.identifier
Get the username of the owner:
>>> owner.username
Get install_repo of the owner:
>>> owner.installed_repositories
Get the masters of the org:
>>> org.masters
Get the name of the org:
>>> org.name
Get the suborgs of the org:
>>> org.suborgs
Get the set of repositories for the org:
>>> repos = org.repositories
>>> repos
Get a list of repositories for the org:
>>> repos_list = []
>>> for repo in repos:
repos_list.append(repo)
Get a single repo:
>>> repo = repos_list[0]
For getting details of a single repo see Repository
section.
Repository¶
This section will show you how to use Repository
interface and its methods:
>>> from IGitt.GitHub.GitHubRepository import GitHubRepository
Get the Repository
object as repo
:
>>> repo_name = 'coala/commuity'
>>> repo = GitHubRepository(gh_token, repo_name)
Get the id of the repo:
>>> repo.identifier
Get the org of the repo:
>>> repo.top_level_org
Get the name of the repo:
>>> repo.full_name
Get set of commits to the repo:
>>> commits = repo.commits
Get list of commits to the repo:
>>> commits_list = []
>>> for commit in commits:
commits_list.append(commit)
Get a single commit:
>>> commit = commits_list[0]
For more methods on a commit
See Commit
section.
Get clone url of the repo:
>>> repo.clone_url
Get the labels of the repo:
>>> labels = repo.get_labels()
>>> labels
Get set of issues to the repo:
>>> repo.issues
Get a single issue by its number:
>>> repo.get_issues(1)
For getting more details of a issue see Issue
section.
Get set of MRs to the repo:
>>> repo.merge_requests
Get a single MR of the repo by its number:
>>> repo.get_mr(77)
For getting more details of a MR see MergeRequest
section.
Get all the urls this repo is hooked to:
>>> repo.hooks
MergeRequest¶
This section will show you how to use MergeRequest
interface and its methods:
>>> from IGitt.GitHub.GitHubMergeRequest import GitHubMergeRequest
Get the MergeRequest
object as mr
:
>>> repo_name = 'coala/community'
>>> mr_number = 52
>>> mr = GitHubMergeRequest(gh_token, repo_name, mr_number)
Get the base commit as a commit object:
>>> mr.base
Get the sha of the base:
>>> mr.base.sha
Get the head commit as a commit object:
>>> mr.head
Get the sha of the head:
>>> mr.head.sha
Get the base branch name:
>>> mr.base_branch_name
Get the head branch name:
>>> mr.head_branch_name
Get the tuple of commit objects that are included in the mr:
>>> mr.commits
Get the repository where this comes from:
>>> mr.repository
Get the repository where this mr’s head branch is located at:
>>> mr.source_repository)
For getting more details of repo see Repository section.
Get the affected files by this mr:
>>> mr.affected_files
Get the addition and deletion of the mr:
>>> mr.diffstat
Get set of issue objects which would be closing upon merging this mr:
>>> mr.closes_issues
Get set of issue obejects which are to this pull request:
>>> mr.mentioned_issues
Get the author of the mr:
>>> mr.author
Get the state of the mr:
>>> mr.state
Get the comments on a mr:
>>> comments = mr.comments
>>> mr.comments
For getting more details of a comment see Comment
section.
Issue¶
This section will show you use Issue
interface and its methods:
>>> from IGitt.GitHub.GitHubIssue import GitHubIssue
Get the Issue
obejct as issue
:
>>> repo_name = 'coala/community'
>>> issue_number = 1
>>> issue = GitHubIssue(gh_token, repo_name, issue_number)
Get the repo where this issue belong:
>>> issue.repository
For more details on a repo see Repository section.
Get the title of the issue:
>>> issue.title
Get the number of the issue:
>>> issue.number
Get the assignees to the issue:
>>> issue.assignees
Get the description of the issue:
>>> issue.description
Get the author of the issue:
>>> issue.author
Get the comments to a issue:
>>> comments = issue.comments
>>> comments
For getting more details on a comment see Comment
section.
Get the labels on a issue:
>>> issue.labels
Get the available labels:
>>> issue.available_labels
Get the time when issue was created:
>>> issue.created
Get the time when issue was last updated:
>>> issue.updated
Get the state of the issue:
>>> issue.state
Get reactions to the issue:
>>> issue.reactions
Get the mr which close this issue:
>>> issue.mrs_closed_by
For getting more details on mr see MergeRequest
section.
Comment¶
This section will show you how to use Comment
interface and its methods:
>>> from IGitt.GitHub.GitHubComment import GitHubComment
>>> from IGitt.Interfaces.Comment import CommentType
Get the Comment
object as comment:
>>> repo_name = 'coala/community'
>>> comment_id = 373075029
>>> issue = CommentType.ISSUE
>>> comment = GitHubComment(gh_token, repo_name, issue , comment_id)
Get the id of the comment:
>>> comment.number
Get the type of the comment:
>>> comment.type
Get the descritption of the comment:
>>> comment.body
Get the author of the comment:
>>> comment.author
Get the time when this comment was created:
>>> comment.created
Get the time when this comment was updated:
>>> comment.updated
Get the repository where this comment belongs:
>>> comment.repository
For more details on a repository see Repository
section.
Commit¶
This section will show you how to use Commit
interface and its methods:
>>> from IGitt.GitHub.GitHubCommit import GitHubCommit
Get the Commit
object as commit
:
>>> repo_name = 'coala/community'
>>> sha = 'b951ad95948112785522428d66a78785ffb7eebc'
>>> commit = GitHubCommit(gh_token, repo_name, sha)
Get the commit message:
>>> commit.message
Get sha of the commit:
>>> commit.sha
Get the repository of the commit:
>>> commit.repository
For more details of a repository please see Repository
section.
Get the parent commit. In case of a merge commit the first parent will be returned:
>>> commit.parent
Get all the commit statuses:
>>> commit.statuses
Get combined status of all commits:
>>> commit.combined_status
Get the patch for a given file:
>>> commit.get_patch_for_file('README.md')
Get the unified diff for the commit excluding the diff index:
>>> commit.unified_diff
User¶
This section will show you how to use User
interface and its methods:
>>> from IGitt.GitHub.GitHubUser import GitHubUser
Get the User
object as user:
>>> username = 'sks444'
>>> user = GitHubUser(gh_token, username)
Get the username:
>>> user.username
Get the id of the user:
>>> user.identifier
Get installed repositories of the user:
>>> user.installed_repositories