Issues services

Fast sample:

from pygithub3 import Github

auth = dict(login='octocat', password='pass')
gh = Github(**auth)

octocat_issues = gh.issues.list()
octocat_repo_issues = gh.issues.list_by_repo('octocat', 'Hello-World')

Issues

class pygithub3.services.issues.Issue(**config)

Consume Issues API

comments

Comments

events

Events

labels

Labels

milestones

Milestones

create(data, user=None, repo=None)

Create an issue

Parameters:
  • data (dict) – Input. See github issues doc
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

issues_service.create(dict(title='My test issue',
    body='This needs to be fixed ASAP.',
    assignee='copitux'))
get(number, user=None, repo=None)

Get a single issue

Parameters:
  • number (int) – Issue number
  • user (str) – Username
  • repo (str) – Repo name

Note

Remember Config precedence

list(**params)

List your issues

Parameters:
  • filter (str) – ‘assigned’, ‘created’, ‘mentioned’ or ‘subscribed’
  • state (str) – ‘open’ or ‘closed’
  • labels (str) – List of comma separated Label names. e.g: bug,ui, @high
  • sort (str) – ‘created’, ‘updated’ or ‘comments’
  • direction (str) – ‘asc’ or ‘desc’
  • since (datetime) – Date filter (datetime or str in ISO 8601)
Returns:

A Result

Warning

You must be authenticated

list_by_repo(user=None, repo=None, **params)

List issues for a repo

Parameters:
  • milestone (str) – Milestone ID, ‘none’ or ‘*’
  • state (str) – ‘open’ or ‘closed’
  • assignee (str) – Username, ‘none’ or ‘*’
  • mentioned (str) – Username
  • labels (str) – List of comma separated Label names. e.g: bug,ui, @high
  • sort (str) – ‘created’, ‘updated’ or ‘comments’
  • direction (str) – ‘asc’ or ‘desc’
  • since (datetime) – Date filter (datetime or str in ISO 8601)
Returns:

A Result

Note

Remember Config precedence

update(number, data, user=None, repo=None)

Update an issue

Parameters:
  • number (int) – Issue number
  • data (dict) – Input. See github issues doc
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

Comments

class pygithub3.services.issues.Comments(**config)

Consume Comments API

create(number, message, user=None, repo=None)

Create a comment on an issue

Parameters:
  • number (int) – Issue number
  • message (str) – Comment message
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

delete(id, user=None, repo=None)

Delete a single comment

Parameters:
  • id (int) – Comment id
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

get(id, user=None, repo=None)

Get a single comment

Parameters:
  • id (int) – Comment id
  • user (str) – Username
  • repo (str) – Repo name

Note

Remember Config precedence

list(number, user=None, repo=None)

List comments for an issue

Parameters:
  • number (int) – Issue number
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Note

Remember Config precedence

update(id, message, user=None, repo=None)

Update a comment on an issue

Parameters:
  • id (int) – Issue id
  • message (str) – Comment message
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

Events

class pygithub3.services.issues.Events(**config)

Consume Issues Events API

get(id, user=None, repo=None)

Get a single event

Parameters:
  • id (int) – Comment id
  • user (str) – Username
  • repo (str) – Repo name
list_by_issue(number, user=None, repo=None)

List events for an issue

Parameters:
  • number (int) – Issue number
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

list_by_repo(user=None, repo=None)

List events for a repository

Parameters:
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Labels

class pygithub3.services.issues.Labels(**config)

Consume Labels API

add_to_issue(number, labels, user=None, repo=None)

Add labels to issue

Parameters:
  • number (int) – Issue number
  • user (str) – Username
  • repo (str) – Repo name
  • labels (list) – Label names
Returns:

A Result

Note

Remember Config precedence

labels_service.add_to_issue(2, user='github', repo='github',
    'label1', 'label2', 'label3')
create(data, user=None, repo=None)

Create a label on an repo

Parameters:
  • data (dict) – Input. See github labels doc
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

delete(name, user=None, repo=None)

Delete a label on an repo

Parameters:
  • name (str) – Label name
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

get(name, user=None, repo=None)

Get a single label

Parameters:
  • name (str) – Label name
  • user (str) – Username
  • repo (str) – Repo name

Note

Remember Config precedence

list(user=None, repo=None)

Get repository’s labels

Parameters:
  • user (str) – Username
  • repo (str) – Repository
Returns:

A Result

Note

Remember Config precedence

list_by_issue(number, user=None, repo=None)

List labels for an issue

Parameters:
  • number (int) – Issue number
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Note

Remember Config precedence

list_by_milestone(number, user=None, repo=None)

Get labels for every issue in a milestone

Parameters:
  • number (int) – Milestone ID
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Note

Remember Config precedence

remove_all(number, user=None, repo=None)

Remove all labels from a issue

Parameters:
  • number (int) – Issue number
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Note

Remember Config precedence

remove_from_issue(number, label, user=None, repo=None)

Remove a label from an issue

Parameters:
  • number (int) – Issue number
  • label (str) – Label name
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Note

Remember Config precedence

replace_all(number, labels, user=None, repo=None)

Replace all labels for a issue

Parameters:
  • number (int) – Issue number
  • labels (list) – New labels
  • user (str) – Username
  • repo (str) – Repo name
Returns:

A Result

Note

If labels weren’t especified, it’d remove all labels from the issue

Note

Remember Config precedence

update(name, data, user=None, repo=None)

Update a label on an repo

Parameters:
  • name (str) – Label name
  • data (dict) – Input. See github labels doc
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

Milestones

class pygithub3.services.issues.Milestones(**config)

Consume Milestones API

create(data, user=None, repo=None)

Create a milestone

Parameters:

Warning

You must be authenticated

Note

Remember Config precedence

delete(number, user=None, repo=None)

Delete a milestone

Parameters:
  • number (int) – Milestone number
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence

get(number, user=None, repo=None)

Get a single milestone

Parameters:
  • number (int) – Milestone number
  • user (str) – Username
  • repo (str) – Repo name

Note

Remember Config precedence

list(user=None, repo=None, **params)

List milestones for a repo

Parameters:
  • user (str) – Username
  • repo (str) – Repo name
  • state (str) – ‘open’ or ‘closed’
  • sort (str) – ‘due_date’ or ‘completeness’
  • direction (str) – ‘asc’ or ‘desc’
Returns:

A Result

Note

Remember Config precedence

update(number, data, user=None, repo=None)

Update a milestone

Parameters:
  • number (int) – Milestone number
  • data (dict) – Input. See github milestones doc
  • user (str) – Username
  • repo (str) – Repo name

Warning

You must be authenticated

Note

Remember Config precedence