Projects and their Associated Objects
This section of the documentation covers the representations of various objects related to the Projects API.
Project Objects
- class github3.projects.Project(json, session: GitHubSession)
Object representing a single project from the API.
See http://developer.github.com/v3/projects/ for more details.
- body
The Markdown formatted text describing the project.
- created_at
A
datetime
representing the date and time when this project was created.
- id
The unique identifier for this project on GitHub.
- name
The name given to this project.
- number
The repository-local identifier of this project.
- owner_url
The URL of the resource in the API of the owning resource - either a repository or an organization.
- updated_at
A
datetime
representing the date and time when this project was last updated.
- as_dict()
Return the attributes for this object as a dictionary.
This is equivalent to calling:
json.loads(obj.as_json())
- Returns:
this object’s attributes serialized to a dictionary
- Return type:
dict
- as_json()
Return the json data for this object.
This is equivalent to calling:
json.dumps(obj.as_dict())
- Returns:
this object’s attributes as a JSON string
- Return type:
str
- column(id)
Get a project column with the given ID.
- Parameters:
id (int) – (required), the column ID
- Returns:
the desired column in the project
- Return type:
- columns(number=-1, etag=None)
Iterate over the columns in this project.
- Parameters:
number (int) – (optional), number of columns to return. Default: -1 returns all available columns.
etag (str) – (optional), ETag from a previous request to the same endpoint
- Returns:
generator of columns
- Return type:
ProjectColumn
- create_column(name)
Create a column in this project.
- Parameters:
name (str) – (required), name of the column
- Returns:
the created project column
- Return type:
- delete()
Delete this project.
- Returns:
True if successfully deleted, False otherwise
- Return type:
bool
- classmethod from_dict(json_dict, session)
Return an instance of this class formed from
json_dict
.
- classmethod from_json(json, session)
Return an instance of this class formed from
json
.
- new_session()
Generate a new session.
- Returns:
A brand new session
- Return type:
- property ratelimit_remaining
Number of requests before GitHub imposes a ratelimit.
- Returns:
int
- refresh(conditional: bool = False) GitHubCore
Re-retrieve the information for this object.
The reasoning for the return value is the following example:
repos = [r.refresh() for r in g.repositories_by('kennethreitz')]
Without the return value, that would be an array of
None
’s and you would otherwise have to do:repos = [r for i in g.repositories_by('kennethreitz')] [r.refresh() for r in repos]
Which is really an anti-pattern.
Changed in version 0.5.
- Parameters:
conditional (bool) – If True, then we will search for a stored header (‘Last-Modified’, or ‘ETag’) on the object and send that as described in the Conditional Requests section of the docs
- Returns:
self
- update(name=None, body=None)
Update this project.
- Parameters:
name (str) – (optional), new name of the project
body (str) – (optional), new body of the project
- Returns:
True if successfully updated, False otherwise
- Return type:
bool
- class github3.projects.ProjectColumn(json, session: GitHubSession)
Object representing a column in a project.
See http://developer.github.com/v3/projects/columns/
- created_at
A
datetime
object representing the date and time when the column was created.
- id
The unique identifier for this column across GitHub.
- name
The name given to this column.
- project_url
The URL used to retrieve the project that owns this column via the API.
- updated_at
A
datetime
object representing the date and time when the column was last updated.
- as_dict()
Return the attributes for this object as a dictionary.
This is equivalent to calling:
json.loads(obj.as_json())
- Returns:
this object’s attributes serialized to a dictionary
- Return type:
dict
- as_json()
Return the json data for this object.
This is equivalent to calling:
json.dumps(obj.as_dict())
- Returns:
this object’s attributes as a JSON string
- Return type:
str
- card(id)
Get a project card with the given ID.
- Parameters:
id (int) – (required), the card ID
- Returns:
the card identified by the provided id
- Return type:
- cards(number=-1, etag=None)
Iterate over the cards in this column.
- Parameters:
number (int) – (optional), number of cards to return. Default: -1 returns all available cards.
etag (str) – (optional), ETag from a previous request to the same endpoint
- Returns:
generator of cards
- Return type:
ProjectCard
- create_card_with_content_id(content_id, content_type)
Create a content card in this project column.
- Parameters:
content_id (int) – (required), the ID of the content
content_type (str) – (required), the type of the content
- Returns:
the created card
- Return type:
- create_card_with_issue(issue)
Create a card in this project column linked with an Issue.
- Parameters:
issue (
Issue
) – (required), an issue with which to link the card. Can also beShortIssue
.- Returns:
the created card
- Return type:
- create_card_with_note(note)
Create a note card in this project column.
- Parameters:
note (str) – (required), the note content
- Returns:
the created card
- Return type:
- delete()
Delete this column.
- Returns:
True if successful, False otherwise
- Return type:
bool
- classmethod from_dict(json_dict, session)
Return an instance of this class formed from
json_dict
.
- classmethod from_json(json, session)
Return an instance of this class formed from
json
.
- move(position)
Move this column.
- Parameters:
position (str) – (required), can be one of first, last, or after:<column-id>, where <column-id> is the id value of a column in the same project.
- Returns:
True if successful, False otherwise
- Return type:
bool
- new_session()
Generate a new session.
- Returns:
A brand new session
- Return type:
- property ratelimit_remaining
Number of requests before GitHub imposes a ratelimit.
- Returns:
int
- refresh(conditional: bool = False) GitHubCore
Re-retrieve the information for this object.
The reasoning for the return value is the following example:
repos = [r.refresh() for r in g.repositories_by('kennethreitz')]
Without the return value, that would be an array of
None
’s and you would otherwise have to do:repos = [r for i in g.repositories_by('kennethreitz')] [r.refresh() for r in repos]
Which is really an anti-pattern.
Changed in version 0.5.
- Parameters:
conditional (bool) – If True, then we will search for a stored header (‘Last-Modified’, or ‘ETag’) on the object and send that as described in the Conditional Requests section of the docs
- Returns:
self
- update(name=None)
Update this column.
- Parameters:
name (str) – (optional), name of the column
- Returns:
True if successful, False otherwise
- Return type:
bool
- class github3.projects.ProjectCard(json, session: GitHubSession)
Object representing a “card” on a project.
See http://developer.github.com/v3/projects/cards/
- column_url
The URL to retrieve this card’s column via the API.
- content_url
The URl to retrieve this card’s body content via the API.
- created_at
A
datetime
object representing the date and time when the column was created.
- id
The globally unique identifier for this card.
- note
The body of the note attached to this card.
- updated_at
A
datetime
object representing the date and time when the column was last updated.
- as_dict()
Return the attributes for this object as a dictionary.
This is equivalent to calling:
json.loads(obj.as_json())
- Returns:
this object’s attributes serialized to a dictionary
- Return type:
dict
- as_json()
Return the json data for this object.
This is equivalent to calling:
json.dumps(obj.as_dict())
- Returns:
this object’s attributes as a JSON string
- Return type:
str
- delete()
Delete this card.
- Returns:
True if successfully deleted, False otherwise
- Return type:
bool
- classmethod from_dict(json_dict, session)
Return an instance of this class formed from
json_dict
.
- classmethod from_json(json, session)
Return an instance of this class formed from
json
.
- move(position, column_id)
Move this card.
- Parameters:
position (str) – (required), can be one of top, bottom, or after:<card-id>, where <card-id> is the id value of a card in the same column, or in the new column specified by column_id.
column_id (int) – (required), the id value of a column in the same project.
- Returns:
True if successfully moved, False
- Return type:
bool
- new_session()
Generate a new session.
- Returns:
A brand new session
- Return type:
- property ratelimit_remaining
Number of requests before GitHub imposes a ratelimit.
- Returns:
int
- refresh(conditional: bool = False) GitHubCore
Re-retrieve the information for this object.
The reasoning for the return value is the following example:
repos = [r.refresh() for r in g.repositories_by('kennethreitz')]
Without the return value, that would be an array of
None
’s and you would otherwise have to do:repos = [r for i in g.repositories_by('kennethreitz')] [r.refresh() for r in repos]
Which is really an anti-pattern.
Changed in version 0.5.
- Parameters:
conditional (bool) – If True, then we will search for a stored header (‘Last-Modified’, or ‘ETag’) on the object and send that as described in the Conditional Requests section of the docs
- Returns:
self
- retrieve_issue_from_content()
Attempt to retrieve an Issue from the content url.
- Returns:
The issue that backs up this particular project card if the card has a content_url.
Note
Cards can be created from Issues and Pull Requests. Pull Requests are also technically Issues so this method is always safe to call.
- Return type:
- Raises:
CardHasNoContentUrl
- retrieve_pull_request_from_content()
Attempt to retrieve an PullRequest from the content url.
- Returns:
The pull request that backs this particular project card if the card has a content_url.
Note
Cards can be created from Issues and Pull Requests.
- Return type:
- Raises:
CardHasNoContentUrl
- update(note=None)
Update this card.
- Parameters:
note (str) – (optional), the card’s note content. Only valid for cards without another type of content, so this cannot be specified if the card already has a content_id and content_type.
- Returns:
True if successfully updated, False otherwise
- Return type:
bool