##// END OF EJS Templates
pull-requests: increase stability of concurrent pull requests creation by flushing prematurly the statuses of commits....
pull-requests: increase stability of concurrent pull requests creation by flushing prematurly the statuses of commits. This is required to increase the versions on each concurrent call. Otherwise we could get into an integrity errors of commitsha+version+repo

File last commit:

r3000:d3d62463 default
r3408:2a133f7e stable
Show More
pull-request-methods.rst
428 lines | 15.5 KiB | text/x-rst | RstLexer
/ docs / api / methods / pull-request-methods.rst
dan
docs: update api docs
r618 .. _pull-request-methods-ref:
pull_request methods
docs: regenerated api docs with new fixed automation script....
r989 ====================
dan
docs: update api docs
r618
close_pull_request
------------------
docs: updated API documentation.
r2508 .. py:function:: close_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, userid=<Optional:<OptionalAttr:apiuser>>, message=<Optional:''>)
dan
docs: update api docs
r618
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)
docs: updated api documentation
r1841 :param message: Optional message to close the Pull Request with. If not
specified it will be generated automatically.
:type message: Optional(str)
dan
docs: update api docs
r618
Example output:
.. code-block:: bash
docs: update API documentation.
r1603 "id": <id_given_in_input>,
"result": {
dan
docs: update api docs
r618 "pull_request_id": "<int>",
docs: updated api documentation
r1841 "close_status": "<str:status_lbl>,
dan
docs: update api docs
r618 "closed": "<bool>"
},
docs: update API documentation.
r1603 "error": null
dan
docs: update api docs
r618
comment_pull_request
--------------------
docs: updated API documentation.
r2508 .. py:function:: comment_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, message=<Optional:None>, commit_id=<Optional:None>, status=<Optional:None>, comment_type=<Optional:u'note'>, resolves_comment_id=<Optional:None>, userid=<Optional:<OptionalAttr:apiuser>>)
dan
docs: update api docs
r618
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
docs: updated API documentation.
r2508 :param repoid: Optional repository name or repository ID.
dan
docs: update api docs
r618 :type repoid: str or int
:param pullrequestid: The pull request ID.
:type pullrequestid: int
docs: updated API docs
r1395 :param commit_id: Specify the commit_id for which to set a comment. If
given commit_id is different than latest in the PR status
change won't be performed.
:type commit_id: str
dan
docs: update api docs
r618 :param message: The text content of the comment.
:type message: str
:param status: (**Optional**) Set the approval status of the pull
docs: updated API docs
r1395 request. One of: 'not_reviewed', 'approved', 'rejected',
'under_review'
dan
docs: update api docs
r618 :type status: str
docs: updated API docs
r1395 :param comment_type: Comment type, one of: 'note', 'todo'
:type comment_type: Optional(str), default: 'note'
dan
docs: update api docs
r618 :param userid: Comment on the pull request as this user
:type userid: Optional(str or int)
Example output:
.. code-block:: bash
docs: update API documentation.
r1603 id : <id_given_in_input>
result : {
dan
docs: update api docs
r618 "pull_request_id": "<Integer>",
docs: updated API docs
r1395 "comment_id": "<Integer>",
"status": {"given": <given_status>,
"was_changed": <bool status_was_actually_changed> },
docs: update API documentation.
r1603 },
error : null
dan
docs: update api docs
r618
create_pull_request
-------------------
docs: update API documentation
r3000 .. py:function:: create_pull_request(apiuser, source_repo, target_repo, source_ref, target_ref, title=<Optional:''>, description=<Optional:''>, description_renderer=<Optional:''>, reviewers=<Optional:None>)
dan
docs: update api docs
r618
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
docs: update API documentation
r3000 :param title: Optionally Set the pull request title, it's generated otherwise
dan
docs: update api docs
r618 :type title: str
:param description: Set the pull request description.
:type description: Optional(str)
docs: update API documentation
r3000 :type description_renderer: Optional(str)
:param description_renderer: Set pull request renderer for the description.
It should be 'rst', 'markdown' or 'plain'. If not give default
system renderer will be used
dan
docs: update api docs
r618 :param reviewers: Set the new pull request reviewers list.
docs: updated api documentation
r1841 Reviewer defined by review rules will be added automatically to the
defined list.
dan
docs: update api docs
r618 :type reviewers: Optional(list)
docs: regenerated api docs with new fixed automation script....
r989 Accepts username strings or objects of the format:
docs: update API documentation.
r1603
docs: updated api documentation
r1841 [{'username': 'nick', 'reasons': ['original author'], 'mandatory': <bool>}]
dan
docs: update api docs
r618
get_pull_request
----------------
docs: updated API documentation.
r2508 .. py:function:: get_pull_request(apiuser, pullrequestid, repoid=<Optional:None>)
dan
docs: update api docs
r618
Get a pull request based on the given ID.
:param apiuser: This is filled automatically from the |authtoken|.
:type apiuser: AuthUser
docs: updated API documentation.
r2508 :param repoid: Optional, repository name or repository ID from where
the pull request was opened.
dan
docs: update api docs
r618 :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>",
}
},
docs: updated api docs.
r1169 "merge": {
docs: regenerated api docs with new fixed automation script....
r989 "clone_url": "<clone_url>",
docs: updated api docs.
r1169 "reference":
{
"name": "<name>",
"type": "<type>",
"commit_id": "<commit_id>",
}
docs: regenerated api docs with new fixed automation script....
r989 },
dan
docs: update api docs
r618 "author": <user_obj>,
"reviewers": [
...
{
"user": "<user_obj>",
"review_status": "<review_status>",
}
...
]
},
"error": null
docs: updated API documentation.
r2508 get_pull_request_comments
-------------------------
.. py:function:: get_pull_request_comments(apiuser, pullrequestid, repoid=<Optional:None>)
Get all comments of pull request specified with the `pullrequestid`
:param apiuser: This is filled automatically from the |authtoken|.
:type apiuser: AuthUser
:param repoid: Optional repository name or repository ID.
:type repoid: str or int
:param pullrequestid: The pull request ID.
:type pullrequestid: int
Example output:
.. code-block:: bash
id : <id_given_in_input>
result : [
{
"comment_author": {
"active": true,
"full_name_or_username": "Tom Gore",
"username": "admin"
},
"comment_created_on": "2017-01-02T18:43:45.533",
"comment_f_path": null,
"comment_id": 25,
"comment_lineno": null,
"comment_status": {
"status": "under_review",
"status_lbl": "Under Review"
},
"comment_text": "Example text",
"comment_type": null,
"pull_request_version": null
}
],
error : null
dan
docs: update api docs
r618 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
docs: updated API documentation.
r2508 :param repoid: Optional repository name or repository ID.
dan
docs: update api docs
r618 :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>",
}
},
docs: updated api docs.
r1169 "merge": {
docs: regenerated api docs with new fixed automation script....
r989 "clone_url": "<clone_url>",
docs: updated api docs.
r1169 "reference":
{
"name": "<name>",
"type": "<type>",
"commit_id": "<commit_id>",
}
docs: regenerated api docs with new fixed automation script....
r989 },
dan
docs: update api docs
r618 "author": <user_obj>,
"reviewers": [
...
{
"user": "<user_obj>",
"review_status": "<review_status>",
}
...
]
}
...
],
"error": null
merge_pull_request
------------------
docs: updated API documentation.
r2508 .. py:function:: merge_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, userid=<Optional:<OptionalAttr:apiuser>>)
dan
docs: update api docs
r618
Merge the pull request specified by `pullrequestid` into its target
repository.
:param apiuser: This is filled automatically from the |authtoken|.
:type apiuser: AuthUser
docs: updated API documentation.
r2508 :param repoid: Optional, repository name or repository ID of the
dan
docs: update api docs
r618 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
docs: update API documentation.
r1603 "id": <id_given_in_input>,
"result": {
dan
docs: update api docs
r618 "executed": "<bool>",
"failure_reason": "<int>",
"merge_commit_id": "<merge_commit_id>",
docs: updated api docs.
r1169 "possible": "<bool>",
"merge_ref": {
"commit_id": "<commit_id>",
"type": "<type>",
"name": "<name>"
}
dan
docs: update api docs
r618 },
docs: update API documentation.
r1603 "error": null
dan
docs: update api docs
r618
update_pull_request
-------------------
docs: update API documentation
r3000 .. py:function:: update_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, title=<Optional:''>, description=<Optional:''>, description_renderer=<Optional:''>, reviewers=<Optional:None>, update_commits=<Optional:None>)
dan
docs: update api docs
r618
Updates a pull request.
:param apiuser: This is filled automatically from the |authtoken|.
:type apiuser: AuthUser
docs: updated API documentation.
r2508 :param repoid: Optional repository name or repository ID.
dan
docs: update api docs
r618 :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)
docs: update API documentation
r3000 :type description_renderer: Optional(str)
:param description_renderer: Update pull request renderer for the description.
It should be 'rst', 'markdown' or 'plain'
dan
docs: update api docs
r618 :param reviewers: Update pull request reviewers list with new value.
:type reviewers: Optional(list)
docs: updated api documentation
r1841 Accepts username strings or objects of the format:
[{'username': 'nick', 'reasons': ['original author'], 'mandatory': <bool>}]
dan
docs: update api docs
r618 :param update_commits: Trigger update of commits for this pull request
:type: update_commits: Optional(bool)
Example output:
.. code-block:: bash
docs: update API documentation.
r1603 id : <id_given_in_input>
result : {
dan
docs: update api docs
r618 "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": []
}
}
docs: update API documentation.
r1603 error : null
dan
docs: update api docs
r618