summaryrefslogtreecommitdiff
path: root/docs/gl_objects/issues.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/gl_objects/issues.rst')
-rw-r--r--docs/gl_objects/issues.rst154
1 files changed, 56 insertions, 98 deletions
diff --git a/docs/gl_objects/issues.rst b/docs/gl_objects/issues.rst
index 136d8b8..2f58dd6 100644
--- a/docs/gl_objects/issues.rst
+++ b/docs/gl_objects/issues.rst
@@ -14,29 +14,21 @@ Reference
+ :class:`gitlab.v4.objects.IssueManager`
+ :attr:`gitlab.Gitlab.issues`
-* v3 API:
-
- + :class:`gitlab.v3.objects.Issue`
- + :class:`gitlab.v3.objects.IssueManager`
- + :attr:`gitlab.Gitlab.issues`
-
* GitLab API: https://docs.gitlab.com/ce/api/issues.html
Examples
--------
-List the issues:
+List the issues::
-.. literalinclude:: issues.py
- :start-after: # list
- :end-before: # end list
+ 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:
+``order_by`` and ``sort`` attributes to sort the results::
-.. literalinclude:: issues.py
- :start-after: # filtered list
- :end-before: # end filtered list
+ open_issues = gl.issues.list(state='opened')
+ closed_issues = gl.issues.list(state='closed')
+ tagged_issues = gl.issues.list(labels=['foo', 'bar'])
Group issues
============
@@ -50,23 +42,18 @@ Reference
+ :class:`gitlab.v4.objects.GroupIssueManager`
+ :attr:`gitlab.v4.objects.Group.issues`
-* v3 API:
-
- + :class:`gitlab.v3.objects.GroupIssue`
- + :class:`gitlab.v3.objects.GroupIssueManager`
- + :attr:`gitlab.v3.objects.Group.issues`
- + :attr:`gitlab.Gitlab.group_issues`
-
* GitLab API: https://docs.gitlab.com/ce/api/issues.html
Examples
--------
-List the group issues:
+List the group issues::
-.. literalinclude:: issues.py
- :start-after: # group issues list
- :end-before: # end group issues list
+ 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
==============
@@ -80,110 +67,81 @@ Reference
+ :class:`gitlab.v4.objects.ProjectIssueManager`
+ :attr:`gitlab.v4.objects.Project.issues`
-* v3 API:
-
- + :class:`gitlab.v3.objects.ProjectIssue`
- + :class:`gitlab.v3.objects.ProjectIssueManager`
- + :attr:`gitlab.v3.objects.Project.issues`
- + :attr:`gitlab.Gitlab.project_issues`
-
* GitLab API: https://docs.gitlab.com/ce/api/issues.html
Examples
--------
-List the project issues:
-
-.. literalinclude:: issues.py
- :start-after: # project issues list
- :end-before: # end project issues list
-
-Get a project issue:
+List the project issues::
-.. literalinclude:: issues.py
- :start-after: # project issues get
- :end-before: # end project issues get
+ 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 from its `iid` (v3 only. Issues are retrieved by iid in V4 by default):
+Get a project issue::
-.. literalinclude:: issues.py
- :start-after: # project issues get from iid
- :end-before: # end project issues get from iid
+ issue = project.issues.get(issue_iid)
-Create a new issue:
+Create a new issue::
-.. literalinclude:: issues.py
- :start-after: # project issues create
- :end-before: # end project issues create
+ issue = project.issues.create({'title': 'I have a bug',
+ 'description': 'Something useful here.'})
-Update an issue:
+Update an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue update
- :end-before: # end project issue update
+ issue.labels = ['foo', 'bar']
+ issue.save()
-Close / reopen an issue:
+Close / reopen an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue open_close
- :end-before: # end project issue open_close
+ # close an issue
+ issue.state_event = 'close'
+ issue.save()
+ # reopen it
+ issue.state_event = 'reopen'
+ issue.save()
-Delete an issue:
+Delete an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue delete
- :end-before: # end project issue delete
+ project.issues.delete(issue_id)
+ # pr
+ issue.delete()
-Subscribe / unsubscribe from an issue:
+Subscribe / unsubscribe from an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue subscribe
- :end-before: # end project issue subscribe
+ issue.subscribe()
+ issue.unsubscribe()
-Move an issue to another project:
+Move an issue to another project::
-.. literalinclude:: issues.py
- :start-after: # project issue move
- :end-before: # end project issue move
+ issue.move(other_project_id)
-Make an issue as todo:
+Make an issue as todo::
-.. literalinclude:: issues.py
- :start-after: # project issue todo
- :end-before: # end project issue todo
+ issue.todo()
-Get time tracking stats:
+Get time tracking stats::
-.. literalinclude:: issues.py
- :start-after: # project issue time tracking stats
- :end-before: # end project issue time tracking stats
+ issue.time_stats()
-Set a time estimate for an issue:
+Set a time estimate for an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue set time estimate
- :end-before: # end project issue set time estimate
+ issue.time_estimate('3h30m')
-Reset a time estimate for an issue:
+Reset a time estimate for an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue reset time estimate
- :end-before: # end project issue reset time estimate
+ issue.reset_time_estimate()
-Add spent time for an issue:
+Add spent time for an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue set time spent
- :end-before: # end project issue set time spent
+ issue.add_spent_time('3h30m')
-Reset spent time for an issue:
+Reset spent time for an issue::
-.. literalinclude:: issues.py
- :start-after: # project issue reset time spent
- :end-before: # end project issue reset time spent
+ issue.reset_spent_time()
-Get user agent detail for the issue (admin only):
+Get user agent detail for the issue (admin only)::
-.. literalinclude:: issues.py
- :start-after: # project issue useragent
- :end-before: # end project issue useragent
+ detail = issue.user_agent_detail()