@@ -1850,6 +1850,58 @@ def time_stats(self, **kwargs):
1850
1850
raise_error_from_response (r , GitlabGetError )
1851
1851
return r .json ()
1852
1852
1853
+ def time_estimate (self , ** kwargs ):
1854
+ """Set an estimated time of work for the merge request.
1855
+
1856
+ Raises:
1857
+ GitlabConnectionError: If the server cannot be reached.
1858
+ """
1859
+ url = ('/projects/%(project_id)s/merge_requests/%(mr_id)s/'
1860
+ 'time_estimate' %
1861
+ {'project_id' : self .project_id , 'mr_id' : self .id })
1862
+ r = self .gitlab ._raw_post (url , ** kwargs )
1863
+ raise_error_from_response (r , GitlabTimeTrackingError , 201 )
1864
+ return r .json ()
1865
+
1866
+ def reset_time_estimate (self , ** kwargs ):
1867
+ """Resets estimated time for the merge request to 0 seconds.
1868
+
1869
+ Raises:
1870
+ GitlabConnectionError: If the server cannot be reached.
1871
+ """
1872
+ url = ('/projects/%(project_id)s/merge_requests/%(mr_id)s/'
1873
+ 'reset_time_estimate' %
1874
+ {'project_id' : self .project_id , 'mr_id' : self .id })
1875
+ r = self .gitlab ._raw_post (url , ** kwargs )
1876
+ raise_error_from_response (r , GitlabTimeTrackingError , 200 )
1877
+ return r .json ()
1878
+
1879
+ def add_spent_time (self , ** kwargs ):
1880
+ """Set an estimated time of work for the merge request.
1881
+
1882
+ Raises:
1883
+ GitlabConnectionError: If the server cannot be reached.
1884
+ """
1885
+ url = ('/projects/%(project_id)s/merge_requests/%(mr_id)s/'
1886
+ 'add_spent_time' %
1887
+ {'project_id' : self .project_id , 'mr_id' : self .id })
1888
+ r = self .gitlab ._raw_post (url , ** kwargs )
1889
+ raise_error_from_response (r , GitlabTimeTrackingError , 200 )
1890
+ return r .json ()
1891
+
1892
+ def reset_spent_time (self , ** kwargs ):
1893
+ """Set an estimated time of work for the merge request.
1894
+
1895
+ Raises:
1896
+ GitlabConnectionError: If the server cannot be reached.
1897
+ """
1898
+ url = ('/projects/%(project_id)s/merge_requests/%(mr_id)s/'
1899
+ 'reset_spent_time' %
1900
+ {'project_id' : self .project_id , 'mr_id' : self .id })
1901
+ r = self .gitlab ._raw_post (url , ** kwargs )
1902
+ raise_error_from_response (r , GitlabTimeTrackingError , 200 )
1903
+ return r .json ()
1904
+
1853
1905
1854
1906
class ProjectMergeRequestManager (BaseManager ):
1855
1907
obj_cls = ProjectMergeRequest
0 commit comments