Files
PyGithub/doc/ReferenceOfClasses.md
T

1274 lines
21 KiB
Markdown

You don't normaly create instances of any class but `Github`.
You obtain instances through calls to `get_` and `create_` methods.
Class `Github`
==============
* Constructed from user's login and password
* `get_user()`: `AuthenticatedUser`
* `get_user( login )`: `NamedUser`
* `get_organization( login )`: `Organization`
* `get_gist( id )`: `Gist`
* `get_gists()`: list of `Gist`
* `rate_limiting`: tuple of two integers: remaining and limit, as explained in [Rate Limiting](http://developer.github.com/v3/#rate-limiting)
Class `AuthenticatedUser`
=========================
Attributes
----------
* `avatar_url`: string
* `bio`: string
* `blog`: string
* `collaborators`: integer
* `company`: string
* `created_at`: string
* `disk_usage`: integer
* `email`: string
* `followers`: integer
* `following`: integer
* `gravatar_id`: string
* `hireable`: bool
* `html_url`: string
* `id`: integer
* `location`: string
* `login`: string
* `name`: string
* `owned_private_repos`: integer
* `plan`: `Plan`
* `private_gists`: integer
* `public_gists`: integer
* `public_repos`: integer
* `total_private_repos`: integer
* `type`: string
* `url`: string
Authorizations
--------------
* `create_authorization( [scopes, note, note_url] )`: `Authorization`
* `scopes`
* `note`
* `note_url`
* `get_authorization( id )`: `Authorization`
* `id`
* `get_authorizations()`: list of `Authorization`
Emails
------
* `add_to_emails( email, ... )`
* `email`: string
* `get_emails()`: list of string
* `remove_from_emails( email, ... )`
* `email`: string
Events
------
* `get_events()`: list of `Event`
* `get_organization_events( org )`: list of `Event`
* `org`: `Organization`
Followers
---------
* `get_followers()`: list of `NamedUser`
Following
---------
* `add_to_following( following )`
* `following`: `NamedUser`
* `get_following()`: list of `NamedUser`
* `has_in_following( following )`: bool
* `following`: `NamedUser`
* `remove_from_following( following )`
* `following`: `NamedUser`
Forking
-------
* `create_fork( repo )`: `Repository`
* `repo`: `Repository`
Gists
-----
* `create_gist( public, files, [description] )`: `Gist`
* `public`: bool
* `files`: `dict`
* `description`: string
* `get_gists()`: list of `Gist`
* `get_starred_gists()`: list of `Gist`
Issues
------
* `get_issues()`: list of `Issue`
Keys
----
* `create_key( title, key )`: `UserKey`
* `title`
* `key`
* `get_key( id )`: `UserKey`
* `id`
* `get_keys()`: list of `UserKey`
Modification
------------
* `edit( [name, email, blog, company, location, hireable, bio] )`
* `name`: string
* `email`: string
* `blog`: string
* `company`: string
* `location`: string
* `hireable`: bool
* `bio`: string
Orgs
----
* `get_orgs()`: list of `Organization`
Repos
-----
* `create_repo( name, [description, homepage, private, has_issues, has_wiki, has_downloads, team_id] )`: `Repository`
* `name`: string
* `description`: string
* `homepage`: string
* `private`: bool
* `has_issues`: bool
* `has_wiki`: bool
* `has_downloads`: bool
* `team_id`
* `get_repo( name )`: `Repository`
* `name`: string
* `get_repos( [type] )`: list of `Repository`
* `type`
Watched
-------
* `add_to_watched( watched )`
* `watched`: `Repository`
* `get_watched()`: list of `Repository`
* `has_in_watched( watched )`: bool
* `watched`: `Repository`
* `remove_from_watched( watched )`
* `watched`: `Repository`
Class `Authorization`
=====================
Attributes
----------
* `app`
* `created_at`
* `id`
* `note`
* `note_url`
* `scopes`
* `token`
* `updated_at`
* `url`
Deletion
--------
* `delete()`
Modification
------------
* `edit( [scopes, add_scopes, remove_scopes, note, note_url] )`
* `scopes`
* `add_scopes`
* `remove_scopes`
* `note`
* `note_url`
Class `Branch`
==============
Attributes
----------
* `commit`: `Commit`
* `name`: string
Class `Commit`
==============
Attributes
----------
* `author`: `NamedUser`
* `commit`: `GitCommit`
* `committer`: `NamedUser`
* `files`: list of `CommitFile`
* `parents`: list of `Commit`
* `sha`: string
* `stats`: `CommitStats`
* `url`: string
Comments
--------
* `create_comment( body, [commit_id, line, path, position] )`: `CommitComment`
* `body`
* `commit_id`
* `line`
* `path`
* `position`
* `get_comments()`: list of `CommitComment`
Class `CommitComment`
=====================
Attributes
----------
* `body`: string
* `commit_id`: string
* `created_at`: string
* `html_url`: string
* `id`: integer
* `line`: integer
* `path`: string
* `position`: integer
* `updated_at`: string
* `url`: string
* `user`: `NamedUser`
Deletion
--------
* `delete()`
Modification
------------
* `edit( body )`
* `body`
Class `CommitFile`
==================
Attributes
----------
* `additions`
* `blob_url`
* `changes`
* `deletions`
* `filename`
* `patch`
* `raw_url`
* `sha`
* `status`
Class `CommitStats`
===================
Attributes
----------
* `additions`: integer
* `deletions`: integer
* `total`: integer
Class `Download`
================
Attributes
----------
* `accesskeyid`
* `acl`
* `bucket`
* `content_type`
* `created_at`
* `description`
* `download_count`
* `expirationdate`
* `html_url`
* `id`
* `mime_type`
* `name`
* `path`
* `policy`
* `prefix`
* `redirect`
* `s3_url`
* `signature`
* `size`
* `url`
Deletion
--------
* `delete()`
Class `Event`
=============
Attributes
----------
* `actor`: `NamedUser`
* `commit_id`
* `created_at`
* `event`
* `id`
* `issue`
* `org`: `Organization`
* `payload`
* `public`
* `repo`: `Repository`
* `type`
* `url`
Class `Gist`
============
Attributes
----------
* `comments`: integer
* `created_at`: string
* `description`: string
* `files`
* `fork_of`: `Gist`
* `forks`: list of `Gist`
* `git_pull_url`: string
* `git_push_url`: string
* `history`: list of `GistHistoryState`
* `html_url`: string
* `id`: string
* `public`: bool
* `updated_at`: string
* `url`: string
* `user`: `NamedUser`
Comments
--------
* `create_comment( body )`: `GistComment`
* `body`
* `get_comment( id )`: `GistComment`
* `id`
* `get_comments()`: list of `GistComment`
Deletion
--------
* `delete()`
Forking
-------
* `create_fork()`: `Gist`
Modification
------------
* `edit( [description, files] )`
* `description`: string
* `files`
Starring
--------
* `is_starred()`: bool
* `reset_starred()`
* `set_starred()`
Class `GistComment`
===================
Attributes
----------
* `body`
* `created_at`
* `id`
* `updated_at`
* `url`
* `user`: `NamedUser`
Deletion
--------
* `delete()`
Modification
------------
* `edit( body )`
* `body`
Class `GistHistoryState`
========================
Attributes
----------
* `change_status`: `CommitStats`
* `committed_at`: string
* `url`: string
* `user`: `NamedUser`
* `version`: string
Class `GitAuthor`
=================
Attributes
----------
* `date`: string
* `email`: string
* `name`: string
Class `GitBlob`
===============
Attributes
----------
* `content`: string
* `encoding`: string
* `sha`: string
* `size`: integer
* `url`: string
Class `GitCommit`
=================
Attributes
----------
* `author`: `GitAuthor`
* `committer`: `GitAuthor`
* `message`: string
* `parents`: list of `GitCommit`
* `sha`: string
* `tree`: `GitTree`
* `url`: string
Class `GitObject`
=================
Attributes
----------
* `sha`: string
* `type`: string
* `url`: string
Class `GitRef`
==============
Attributes
----------
* `object`: `GitObject`
* `ref`: string
* `url`: string
Deletion
--------
* `delete()`
Modification
------------
* `edit( sha, [force] )`
* `sha`
* `force`
Class `GitTag`
==============
Attributes
----------
* `message`: string
* `object`: `GitObject`
* `sha`: string
* `tag`: string
* `tagger`: `GitAuthor`
* `url`: string
Class `GitTree`
===============
Attributes
----------
* `sha`: string
* `tree`: list of `GitTreeElement`
* `url`: string
Class `GitTreeElement`
======================
Attributes
----------
* `mode`: string
* `path`: string
* `sha`: string
* `size`: integer
* `type`: string
* `url`: string
Class `Hook`
============
Attributes
----------
* `active`
* `config`
* `created_at`
* `events`
* `id`
* `last_response`
* `name`
* `updated_at`
* `url`
Deletion
--------
* `delete()`
Modification
------------
* `edit( name, config, [events, add_events, remove_events, active] )`
* `name`
* `config`
* `events`
* `add_events`
* `remove_events`
* `active`
Testing
-------
* `test()`
Class `Issue`
=============
Attributes
----------
* `assignee`: `NamedUser`
* `body`: string
* `closed_at`: string
* `closed_by`: `NamedUser`
* `comments`: integer
* `created_at`: string
* `html_url`: string
* `id`: integer
* `labels`: list of `Label`
* `milestone`: `Milestone`
* `number`: integer
* `pull_request`
* `state`: string
* `title`: string
* `updated_at`: string
* `url`: string
* `user`: `NamedUser`
Comments
--------
* `create_comment( body )`: `IssueComment`
* `body`: string
* `get_comment( id )`: `IssueComment`
* `id`
* `get_comments()`: list of `IssueComment`
Events
------
* `get_events()`: list of `IssueEvent`
Labels
------
* `add_to_labels( label, ... )`
* `label`: `Label`
* `delete_labels()`
* `get_labels()`: list of `Label`
* `remove_from_labels( label )`
* `label`: `Label`
* `set_labels( label, ... )`
* `label`: `Label`
Modification
------------
* `edit( [title, body, assignee, state, milestone, labels] )`
* `title`
* `body`
* `assignee`
* `state`
* `milestone`
* `labels`
Class `IssueComment`
====================
Attributes
----------
* `body`
* `created_at`
* `id`
* `updated_at`
* `url`
* `user`: `NamedUser`
Deletion
--------
* `delete()`
Modification
------------
* `edit( body )`
* `body`
Class `IssueEvent`
==================
Attributes
----------
* `actor`: `NamedUser`
* `commit_id`: string
* `created_at`: string
* `event`: string
* `id`: integer
* `issue`: `Issue`
* `url`: string
Class `Label`
=============
Attributes
----------
* `color`
* `name`
* `url`
Deletion
--------
* `delete()`
Modification
------------
* `edit( name, color )`
* `name`
* `color`
Class `Milestone`
=================
Attributes
----------
* `closed_issues`: integer
* `created_at`: string
* `creator`: `NamedUser`
* `description`: string
* `due_on`: string
* `id`: integer
* `number`: integer
* `open_issues`: integer
* `state`: string
* `title`: string
* `url`: string
Deletion
--------
* `delete()`
Labels
------
* `get_labels()`: list of `Label`
Modification
------------
* `edit( title, [state, description, due_on] )`
* `title`
* `state`
* `description`
* `due_on`
Class `NamedUser`
=================
Attributes
----------
* `avatar_url`: string
* `bio`: string
* `blog`: string
* `collaborators`: integer
* `company`: string
* `contributions`: integer
* `created_at`: string
* `disk_usage`: integer
* `email`: string
* `followers`: integer
* `following`: integer
* `gravatar_id`: string
* `hireable`: bool
* `html_url`: string
* `id`: integer
* `location`: string
* `login`: string
* `name`: string
* `owned_private_repos`: integer
* `plan`: `Plan`
* `private_gists`: integer
* `public_gists`: integer
* `public_repos`: integer
* `total_private_repos`: integer
* `type`: string
* `url`: string
Events
------
* `get_events()`: list of `Event`
* `get_public_events()`: list of `Event`
* `get_received_events()`: list of `Event`
* `get_public_received_events()`: list of `Event`
Followers
---------
* `get_followers()`: list of `NamedUser`
Following
---------
* `get_following()`: list of `NamedUser`
Gists
-----
* `create_gist( public, files, [description] )`: `Gist`
* `public`: bool
* `files`: `dict`
* `description`: string
* `get_gists()`: list of `Gist`
Orgs
----
* `get_orgs()`: list of `Organization`
Repos
-----
* `get_repo( name )`: `Repository`
* `name`: string
* `get_repos( [type] )`: list of `Repository`
* `type`
Watched
-------
* `get_watched()`: list of `Repository`
Class `Organization`
====================
Attributes
----------
* `avatar_url`: string
* `billing_email`: string
* `blog`: string
* `collaborators`: integer
* `company`: string
* `created_at`: string
* `disk_usage`: integer
* `email`: string
* `followers`: integer
* `following`: integer
* `gravatar_id`: string
* `html_url`: string
* `id`: integer
* `location`: string
* `login`: string
* `name`: string
* `owned_private_repos`: integer
* `plan`: `Plan`
* `private_gists`: integer
* `public_gists`: integer
* `public_repos`: integer
* `total_private_repos`: integer
* `type`: string
* `url`: string
Events
------
* `get_events()`: list of `Event`
Forking
-------
* `create_fork( repo )`: `Repository`
* `repo`: `Repository`
Members
-------
* `get_members()`: list of `NamedUser`
* `has_in_members( member )`: bool
* `member`: `NamedUser`
* `remove_from_members( member )`
* `member`: `NamedUser`
Modification
------------
* `edit( [billing_email, blog, company, email, location, name] )`
* `billing_email`
* `blog`
* `company`
* `email`
* `location`
* `name`
Public_members
--------------
* `add_to_public_members( public_member )`
* `public_member`: `NamedUser`
* `get_public_members()`: list of `NamedUser`
* `has_in_public_members( public_member )`: bool
* `public_member`: `NamedUser`
* `remove_from_public_members( public_member )`
* `public_member`: `NamedUser`
Repos
-----
* `create_repo( name, [description, homepage, private, has_issues, has_wiki, has_downloads, team_id] )`: `Repository`
* `name`: string
* `description`: string
* `homepage`: string
* `private`: bool
* `has_issues`: bool
* `has_wiki`: bool
* `has_downloads`: bool
* `team_id`
* `get_repo( name )`: `Repository`
* `name`: string
* `get_repos( [type] )`: list of `Repository`
* `type`
Teams
-----
* `create_team( name, [repo_names, permission] )`: `Team`
* `name`: string
* `repo_names`: `list`
* `permission`
* `get_teams()`: list of `Team`
Class `Permissions`
===================
Attributes
----------
* `admin`: bool
* `pull`: bool
* `push`: bool
Class `Plan`
============
Attributes
----------
* `collaborators`: integer
* `name`: string
* `private_repos`: integer
* `space`: integer
Class `PullRequest`
===================
Attributes
----------
* `additions`
* `base`
* `body`
* `changed_files`
* `closed_at`
* `comments`
* `commits`
* `created_at`
* `deletions`
* `diff_url`
* `head`
* `html_url`
* `id`
* `issue_url`
* `mergeable`
* `merged`
* `merged_at`
* `merged_by`
* `number`
* `patch_url`
* `review_comments`
* `state`
* `title`
* `updated_at`
* `url`
* `user`: `NamedUser`
Comments
--------
* `get_comment( id )`: `PullRequestComment`
* `id`
* `get_comments()`: list of `PullRequestComment`
Commits
-------
* `get_commits()`: list of `Commit`
Files
-----
* `get_files()`: list of `PullRequestFile`
Merging
-------
* `is_merged()`: bool
* `merge( [commit_message] )`
* `commit_message`: string
Modification
------------
* `edit( [title, body, state] )`
* `title`
* `body`
* `state`
Class `PullRequestComment`
==========================
Attributes
----------
* `body`
* `commit_id`
* `created_at`
* `html_url`
* `id`
* `line`
* `path`
* `position`
* `updated_at`
* `url`
* `user`: `NamedUser`
Deletion
--------
* `delete()`
Modification
------------
* `edit( body )`
* `body`
Class `PullRequestFile`
=======================
Attributes
----------
* `additions`
* `blob_url`
* `changes`
* `deletions`
* `filename`
* `patch`
* `raw_url`
* `sha`
* `status`
Class `Repository`
==================
Attributes
----------
* `clone_url`: string
* `created_at`: string
* `description`: string
* `fork`: bool
* `forks`: integer
* `git_url`: string
* `has_downloads`: bool
* `has_issues`: bool
* `has_wiki`: bool
* `homepage`: string
* `html_url`: string
* `id`: integer
* `language`: string
* `master_branch`: string
* `mirror_url`: string
* `name`: string
* `open_issues`: integer
* `organization`: `Organization`
* `owner`: `NamedUser`
* `parent`: `Repository`
* `permissions`: `Permissions`
* `private`: bool
* `pushed_at`: string
* `size`: integer
* `source`: `Repository`
* `ssh_url`: string
* `svn_url`: string
* `updated_at`: string
* `url`: string
* `watchers`: integer
Comparison
----------
* `compare( base, head )`
* `base`
* `head`
Branches
--------
* `get_branches()`: list of `Branch`
Collaborators
-------------
* `add_to_collaborators( collaborator )`
* `collaborator`: `NamedUser`
* `get_collaborators()`: list of `NamedUser`
* `has_in_collaborators( collaborator )`: bool
* `collaborator`: `NamedUser`
* `remove_from_collaborators( collaborator )`
* `collaborator`: `NamedUser`
Comments
--------
* `get_comment( id )`: `CommitComment`
* `id`
* `get_comments()`: list of `CommitComment`
Commits
-------
* `get_commit( sha )`: `Commit`
* `sha`
* `get_commits( [sha, path] )`: list of `Commit`
* `sha`
* `path`
Contributors
------------
* `get_contributors()`: list of `NamedUser`
Downloads
---------
* `create_download( name, size, [description, content_type] )`: `Download`
* `name`
* `size`
* `description`
* `content_type`
* `get_download( id )`: `Download`
* `id`
* `get_downloads()`: list of `Download`
Events
------
* `get_events()`: list of `Event`
* `get_network_events()`: list of `Event`
Forks
-----
* `get_forks()`: list of `Repository`
Git_blobs
---------
* `create_git_blob( content, encoding )`: `GitBlob`
* `content`
* `encoding`
* `get_git_blob( sha )`: `GitBlob`
* `sha`
Git_commits
-----------
* `create_git_commit( message, tree, parents, [author, committer] )`: `GitCommit`
* `message`
* `tree`
* `parents`
* `author`
* `committer`
* `get_git_commit( sha )`: `GitCommit`
* `sha`
Git_refs
--------
* `create_git_ref( ref, sha )`: `GitRef`
* `ref`
* `sha`
* `get_git_ref( ref )`: `GitRef`
* `ref`
* `get_git_refs()`: list of `GitRef`
Git_tags
--------
* `create_git_tag( tag, message, object, type, [tagger] )`: `GitTag`
* `tag`
* `message`
* `object`
* `type`
* `tagger`
* `get_git_tag( sha )`: `GitTag`
* `sha`
Git_trees
---------
* `create_git_tree( tree, [base_tree] )`: `GitTree`
* `tree`
* `base_tree`
* `get_git_tree( sha, [recursive] )`: `GitTree`
* `sha`
* `recursive`: bool
Hooks
-----
* `create_hook( name, config, [events, active] )`: `Hook`
* `name`
* `config`
* `events`
* `active`
* `get_hook( id )`: `Hook`
* `id`
* `get_hooks()`: list of `Hook`
Issues
------
* `create_issue( title, [body, assignee, milestone, labels] )`: `Issue`
* `title`
* `body`
* `assignee`
* `milestone`
* `labels`
* `get_issue( number )`: `Issue`
* `number`
* `get_issues( [milestone, state, assignee, mentioned, labels, sort, direction, since] )`: list of `Issue`
* `milestone`
* `state`
* `assignee`
* `mentioned`
* `labels`
* `sort`
* `direction`
* `since`
Issues_events
-------------
* `get_issues_event( id )`: `IssueEvent`
* `id`
* `get_issues_events()`: list of `IssueEvent`
Keys
----
* `create_key( title, key )`: `RepositoryKey`
* `title`
* `key`
* `get_key( id )`: `RepositoryKey`
* `id`
* `get_keys()`: list of `RepositoryKey`
Labels
------
* `create_label( name, color )`: `Label`
* `name`
* `color`
* `get_label( name )`: `Label`
* `name`
* `get_labels()`: list of `Label`
Languages
---------
* `get_languages()`
Milestones
----------
* `create_milestone( title, [state, description, due_on] )`: `Milestone`
* `title`
* `state`
* `description`
* `due_on`
* `get_milestone( number )`: `Milestone`
* `number`
* `get_milestones( [state, sort, direction] )`: list of `Milestone`
* `state`
* `sort`
* `direction`
Modification
------------
* `edit( name, [description, homepage, public, has_issues, has_wiki, has_downloads] )`
* `name`
* `description`
* `homepage`
* `public`
* `has_issues`
* `has_wiki`
* `has_downloads`
Pulls
-----
* `get_pull( number )`: `PullRequest`
* `number`
* `get_pulls( [state] )`: list of `PullRequest`
* `state`
Tags
----
* `get_tags()`: list of `Tag`
Teams
-----
* `get_teams()`: list of `Team`
Watchers
--------
* `get_watchers()`: list of `NamedUser`
Class `RepositoryKey`
=====================
Attributes
----------
* `id`
* `key`
* `title`
* `url`
Deletion
--------
* `delete()`
Modification
------------
* `edit( title, key )`
* `title`
* `key`
Class `Tag`
===========
Attributes
----------
* `commit`: `Commit`
* `name`: string
* `tarball_url`: string
* `zipball_url`: string
Class `Team`
============
Attributes
----------
* `id`
* `members_count`
* `name`
* `permission`
* `repos_count`
* `url`
Deletion
--------
* `delete()`
Members
-------
* `add_to_members( member )`
* `member`: `NamedUser`
* `get_members()`: list of `NamedUser`
* `has_in_members( member )`: bool
* `member`: `NamedUser`
* `remove_from_members( member )`
* `member`: `NamedUser`
Modification
------------
* `edit( name, [permission] )`
* `name`
* `permission`
Repos
-----
* `add_to_repos( repo )`
* `repo`: `Repository`
* `get_repos()`: list of `Repository`
* `has_in_repos( repo )`: bool
* `repo`: `Repository`
* `remove_from_repos( repo )`
* `repo`: `Repository`
Class `UserKey`
===============
Attributes
----------
* `id`
* `key`
* `title`
* `url`
Deletion
--------
* `delete()`
Modification
------------
* `edit( [title, key] )`
* `title`
* `key`