pull-request-methods.rst
371 lines
| 12.8 KiB
| text/x-rst
|
RstLexer
r618 | .. _pull-request-methods-ref: | |||
pull_request methods | ||||
r989 | ==================== | |||
r618 | ||||
close_pull_request | ||||
------------------ | ||||
.. py:function:: close_pull_request(apiuser, repoid, pullrequestid, userid=<Optional:<OptionalAttr:apiuser>>) | ||||
Close the pull request specified by `pullrequestid`. | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param repoid: Repository name or repository ID to which the pull | ||||
request belongs. | ||||
:type repoid: str or int | ||||
:param pullrequestid: ID of the pull request to be closed. | ||||
:type pullrequestid: int | ||||
:param userid: Close the pull request as this user. | ||||
:type userid: Optional(str or int) | ||||
Example output: | ||||
.. code-block:: bash | ||||
"id": <id_given_in_input>, | ||||
"result": | ||||
{ | ||||
"pull_request_id": "<int>", | ||||
"closed": "<bool>" | ||||
}, | ||||
"error": null | ||||
comment_pull_request | ||||
-------------------- | ||||
.. py:function:: comment_pull_request(apiuser, repoid, pullrequestid, message=<Optional:None>, status=<Optional:None>, userid=<Optional:<OptionalAttr:apiuser>>) | ||||
Comment on the pull request specified with the `pullrequestid`, | ||||
in the |repo| specified by the `repoid`, and optionally change the | ||||
review status. | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param repoid: The repository name or repository ID. | ||||
:type repoid: str or int | ||||
:param pullrequestid: The pull request ID. | ||||
:type pullrequestid: int | ||||
:param message: The text content of the comment. | ||||
:type message: str | ||||
:param status: (**Optional**) Set the approval status of the pull | ||||
request. Valid options are: | ||||
* not_reviewed | ||||
* approved | ||||
* rejected | ||||
* under_review | ||||
:type status: str | ||||
:param userid: Comment on the pull request as this user | ||||
:type userid: Optional(str or int) | ||||
Example output: | ||||
.. code-block:: bash | ||||
id : <id_given_in_input> | ||||
result : | ||||
{ | ||||
"pull_request_id": "<Integer>", | ||||
"comment_id": "<Integer>" | ||||
} | ||||
error : null | ||||
create_pull_request | ||||
------------------- | ||||
.. py:function:: create_pull_request(apiuser, source_repo, target_repo, source_ref, target_ref, title, description=<Optional:''>, reviewers=<Optional:None>) | ||||
Creates a new pull request. | ||||
Accepts refs in the following formats: | ||||
* branch:<branch_name>:<sha> | ||||
* branch:<branch_name> | ||||
* bookmark:<bookmark_name>:<sha> (Mercurial only) | ||||
* bookmark:<bookmark_name> (Mercurial only) | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param source_repo: Set the source repository name. | ||||
:type source_repo: str | ||||
:param target_repo: Set the target repository name. | ||||
:type target_repo: str | ||||
:param source_ref: Set the source ref name. | ||||
:type source_ref: str | ||||
:param target_ref: Set the target ref name. | ||||
:type target_ref: str | ||||
:param title: Set the pull request title. | ||||
:type title: str | ||||
:param description: Set the pull request description. | ||||
:type description: Optional(str) | ||||
:param reviewers: Set the new pull request reviewers list. | ||||
:type reviewers: Optional(list) | ||||
r989 | Accepts username strings or objects of the format: | |||
{ | ||||
'username': 'nick', 'reasons': ['original author'] | ||||
} | ||||
r618 | ||||
get_pull_request | ||||
---------------- | ||||
.. py:function:: get_pull_request(apiuser, repoid, pullrequestid) | ||||
Get a pull request based on the given ID. | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param repoid: Repository name or repository ID from where the pull | ||||
request was opened. | ||||
:type repoid: str or int | ||||
:param pullrequestid: ID of the requested pull request. | ||||
:type pullrequestid: int | ||||
Example output: | ||||
.. code-block:: bash | ||||
"id": <id_given_in_input>, | ||||
"result": | ||||
{ | ||||
"pull_request_id": "<pull_request_id>", | ||||
"url": "<url>", | ||||
"title": "<title>", | ||||
"description": "<description>", | ||||
"status" : "<status>", | ||||
"created_on": "<date_time_created>", | ||||
"updated_on": "<date_time_updated>", | ||||
"commit_ids": [ | ||||
... | ||||
"<commit_id>", | ||||
"<commit_id>", | ||||
... | ||||
], | ||||
"review_status": "<review_status>", | ||||
"mergeable": { | ||||
"status": "<bool>", | ||||
"message": "<message>", | ||||
}, | ||||
"source": { | ||||
"clone_url": "<clone_url>", | ||||
"repository": "<repository_name>", | ||||
"reference": | ||||
{ | ||||
"name": "<name>", | ||||
"type": "<type>", | ||||
"commit_id": "<commit_id>", | ||||
} | ||||
}, | ||||
"target": { | ||||
"clone_url": "<clone_url>", | ||||
"repository": "<repository_name>", | ||||
"reference": | ||||
{ | ||||
"name": "<name>", | ||||
"type": "<type>", | ||||
"commit_id": "<commit_id>", | ||||
} | ||||
}, | ||||
r1169 | "merge": { | |||
r989 | "clone_url": "<clone_url>", | |||
r1169 | "reference": | |||
{ | ||||
"name": "<name>", | ||||
"type": "<type>", | ||||
"commit_id": "<commit_id>", | ||||
} | ||||
r989 | }, | |||
r618 | "author": <user_obj>, | |||
"reviewers": [ | ||||
... | ||||
{ | ||||
"user": "<user_obj>", | ||||
"review_status": "<review_status>", | ||||
} | ||||
... | ||||
] | ||||
}, | ||||
"error": null | ||||
get_pull_requests | ||||
----------------- | ||||
.. py:function:: get_pull_requests(apiuser, repoid, status=<Optional:'new'>) | ||||
Get all pull requests from the repository specified in `repoid`. | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param repoid: Repository name or repository ID. | ||||
:type repoid: str or int | ||||
:param status: Only return pull requests with the specified status. | ||||
Valid options are. | ||||
* ``new`` (default) | ||||
* ``open`` | ||||
* ``closed`` | ||||
:type status: str | ||||
Example output: | ||||
.. code-block:: bash | ||||
"id": <id_given_in_input>, | ||||
"result": | ||||
[ | ||||
... | ||||
{ | ||||
"pull_request_id": "<pull_request_id>", | ||||
"url": "<url>", | ||||
"title" : "<title>", | ||||
"description": "<description>", | ||||
"status": "<status>", | ||||
"created_on": "<date_time_created>", | ||||
"updated_on": "<date_time_updated>", | ||||
"commit_ids": [ | ||||
... | ||||
"<commit_id>", | ||||
"<commit_id>", | ||||
... | ||||
], | ||||
"review_status": "<review_status>", | ||||
"mergeable": { | ||||
"status": "<bool>", | ||||
"message: "<message>", | ||||
}, | ||||
"source": { | ||||
"clone_url": "<clone_url>", | ||||
"reference": | ||||
{ | ||||
"name": "<name>", | ||||
"type": "<type>", | ||||
"commit_id": "<commit_id>", | ||||
} | ||||
}, | ||||
"target": { | ||||
"clone_url": "<clone_url>", | ||||
"reference": | ||||
{ | ||||
"name": "<name>", | ||||
"type": "<type>", | ||||
"commit_id": "<commit_id>", | ||||
} | ||||
}, | ||||
r1169 | "merge": { | |||
r989 | "clone_url": "<clone_url>", | |||
r1169 | "reference": | |||
{ | ||||
"name": "<name>", | ||||
"type": "<type>", | ||||
"commit_id": "<commit_id>", | ||||
} | ||||
r989 | }, | |||
r618 | "author": <user_obj>, | |||
"reviewers": [ | ||||
... | ||||
{ | ||||
"user": "<user_obj>", | ||||
"review_status": "<review_status>", | ||||
} | ||||
... | ||||
] | ||||
} | ||||
... | ||||
], | ||||
"error": null | ||||
merge_pull_request | ||||
------------------ | ||||
.. py:function:: merge_pull_request(apiuser, repoid, pullrequestid, userid=<Optional:<OptionalAttr:apiuser>>) | ||||
Merge the pull request specified by `pullrequestid` into its target | ||||
repository. | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param repoid: The Repository name or repository ID of the | ||||
target repository to which the |pr| is to be merged. | ||||
:type repoid: str or int | ||||
:param pullrequestid: ID of the pull request which shall be merged. | ||||
:type pullrequestid: int | ||||
:param userid: Merge the pull request as this user. | ||||
:type userid: Optional(str or int) | ||||
Example output: | ||||
.. code-block:: bash | ||||
"id": <id_given_in_input>, | ||||
"result": | ||||
{ | ||||
"executed": "<bool>", | ||||
"failure_reason": "<int>", | ||||
"merge_commit_id": "<merge_commit_id>", | ||||
r1169 | "possible": "<bool>", | |||
"merge_ref": { | ||||
"commit_id": "<commit_id>", | ||||
"type": "<type>", | ||||
"name": "<name>" | ||||
} | ||||
r618 | }, | |||
"error": null | ||||
update_pull_request | ||||
------------------- | ||||
.. py:function:: update_pull_request(apiuser, repoid, pullrequestid, title=<Optional:''>, description=<Optional:''>, reviewers=<Optional:None>, update_commits=<Optional:None>, close_pull_request=<Optional:None>) | ||||
Updates a pull request. | ||||
:param apiuser: This is filled automatically from the |authtoken|. | ||||
:type apiuser: AuthUser | ||||
:param repoid: The repository name or repository ID. | ||||
:type repoid: str or int | ||||
:param pullrequestid: The pull request ID. | ||||
:type pullrequestid: int | ||||
:param title: Set the pull request title. | ||||
:type title: str | ||||
:param description: Update pull request description. | ||||
:type description: Optional(str) | ||||
:param reviewers: Update pull request reviewers list with new value. | ||||
:type reviewers: Optional(list) | ||||
:param update_commits: Trigger update of commits for this pull request | ||||
:type: update_commits: Optional(bool) | ||||
:param close_pull_request: Close this pull request with rejected state | ||||
:type: close_pull_request: Optional(bool) | ||||
Example output: | ||||
.. code-block:: bash | ||||
id : <id_given_in_input> | ||||
result : | ||||
{ | ||||
"msg": "Updated pull request `63`", | ||||
"pull_request": <pull_request_object>, | ||||
"updated_reviewers": { | ||||
"added": [ | ||||
"username" | ||||
], | ||||
"removed": [] | ||||
}, | ||||
"updated_commits": { | ||||
"added": [ | ||||
"<sha1_hash>" | ||||
], | ||||
"common": [ | ||||
"<sha1_hash>", | ||||
"<sha1_hash>", | ||||
], | ||||
"removed": [] | ||||
} | ||||
} | ||||
error : null | ||||