Issues¶
Reported issues¶
Reference¶
- v4 API:
gitlab.v4.objects.Issue
gitlab.v4.objects.IssueManager
gitlab.Gitlab.issues
- v3 API:
gitlab.v3.objects.Issue
gitlab.v3.objects.IssueManager
gitlab.Gitlab.issues
- GitLab API: https://docs.gitlab.com/ce/api/issues.html
Examples¶
List the issues:
issues = gl.issues.list()
Use the state
and label
parameters to filter the results. Use the
order_by
and sort
attributes to sort the results:
open_issues = gl.issues.list(state='opened')
closed_issues = gl.issues.list(state='closed')
tagged_issues = gl.issues.list(labels=['foo', 'bar'])
Group issues¶
Reference¶
- v4 API:
gitlab.v4.objects.GroupIssue
gitlab.v4.objects.GroupIssueManager
gitlab.v4.objects.Group.issues
- v3 API:
gitlab.v3.objects.GroupIssue
gitlab.v3.objects.GroupIssueManager
gitlab.v3.objects.Group.issues
gitlab.Gitlab.group_issues
- GitLab API: https://docs.gitlab.com/ce/api/issues.html
Examples¶
List the group issues:
issues = group.issues.list()
# Filter using the state, labels and milestone parameters
issues = group.issues.list(milestone='1.0', state='opened')
# Order using the order_by and sort parameters
issues = group.issues.list(order_by='created_at', sort='desc')
Project issues¶
Reference¶
- v4 API:
gitlab.v4.objects.ProjectIssue
gitlab.v4.objects.ProjectIssueManager
gitlab.v4.objects.Project.issues
- v3 API:
gitlab.v3.objects.ProjectIssue
gitlab.v3.objects.ProjectIssueManager
gitlab.v3.objects.Project.issues
gitlab.Gitlab.project_issues
- GitLab API: https://docs.gitlab.com/ce/api/issues.html
Examples¶
List the project issues:
issues = project.issues.list()
# Filter using the state, labels and milestone parameters
issues = project.issues.list(milestone='1.0', state='opened')
# Order using the order_by and sort parameters
issues = project.issues.list(order_by='created_at', sort='desc')
Get a project issue:
issue = project.issues.get(issue_id)
Get a project issue from its iid (v3 only. Issues are retrieved by iid in V4 by default):
issue = project.issues.list(iid=issue_iid)[0]
Create a new issue:
issue = project.issues.create({'title': 'I have a bug',
'description': 'Something useful here.'})
Update an issue:
issue.labels = ['foo', 'bar']
issue.save()
Close / reopen an issue:
# close an issue
issue.state_event = 'close'
issue.save()
# reopen it
issue.state_event = 'reopen'
issue.save()
Delete an issue:
project.issues.delete(issue_id)
# pr
issue.delete()
Subscribe / unsubscribe from an issue:
issue.subscribe()
issue.unsubscribe()
Move an issue to another project:
issue.move(new_project_id)
Make an issue as todo:
issue.todo()
Get time tracking stats:
issue.time_stats()
Set a time estimate for an issue:
issue.set_time_estimate({'duration': '3h30m'})
Reset a time estimate for an issue:
issue.reset_time_estimate()
Add spent time for an issue:
issue.add_time_spent({'duration': '3h30m'})
Reset spent time for an issue:
issue.reset_time_spent()
Get user agent detail for the issue (admin only):
detail = issue.user_agent_detail()