pull_request methods#
close_pull_request#
- close_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, userid=<Optional:<OptionalAttr:apiuser>>, message=<Optional:''>)#
Close the pull request specified by pullrequestid.
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Repository name or repository ID to which the pull request belongs.
pullrequestid (int) – ID of the pull request to be closed.
userid (Optional(str or int)) – Close the pull request as this user.
message (Optional(str)) – Optional message to close the Pull Request with. If not specified it will be generated automatically.
Example output:
"id": <id_given_in_input>, "result": { "pull_request_id": "<int>", "close_status": "<str:status_lbl>, "closed": "<bool>" }, "error": null
create_pull_request#
- create_pull_request(apiuser, source_repo, target_repo, source_ref, target_ref, owner=<Optional:<OptionalAttr:apiuser>>, title=<Optional:''>, description=<Optional:''>, description_renderer=<Optional:''>, reviewers=<Optional:None>, observers=<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)
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
source_repo (str) – Set the source repository name.
target_repo (str) – Set the target repository name.
source_ref (str) – Set the source ref name.
target_ref (str) – Set the target ref name.
owner (Optional(str)) – user_id or username
title (str) – Optionally Set the pull request title, it’s generated otherwise
description (Optional(str)) – Set the pull request description.
description_renderer (Optional(str)) – Set pull request renderer for the description. It should be ‘rst’, ‘markdown’ or ‘plain’. If not give default system renderer will be used
reviewers – Set the new pull request reviewers list. Reviewer defined by review rules will be added automatically to the defined list.
observers – Set the new pull request observers list. Reviewer defined by review rules will be added automatically to the defined list. This feature is only available in RhodeCode EE
get_pull_request#
- get_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, merge_state=<Optional:False>)#
Get a pull request based on the given ID.
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Optional, repository name or repository ID from where the pull request was opened.
pullrequestid (int) – ID of the requested pull request.
merge_state (bool) – Optional calculate merge state for each repository. This could result in longer time to fetch the data
Example output:
"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>", "versions": "<number_or_versions_of_pr>", "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>", } }, "merge": { "clone_url": "<clone_url>", "reference": { "name": "<name>", "type": "<type>", "commit_id": "<commit_id>", } }, "author": <user_obj>, "reviewers": [ ... { "user": "<user_obj>", "review_status": "<review_status>", } ... ] }, "error": null
get_pull_request_comments#
- get_pull_request_comments(apiuser, pullrequestid, repoid=<Optional:None>)#
Get all comments of pull request specified with the pullrequestid
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Optional repository name or repository ID.
pullrequestid (int) – The pull request ID.
Example output:
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, "comment_last_version: 0, "pull_request_version": null, "comment_commit_id": None, "comment_pull_request_id": <pull_request_id> } ], error : null
get_pull_requests#
- get_pull_requests(apiuser, repoid, status=<Optional:'new'>, merge_state=<Optional:False>)#
Get all pull requests from the repository specified in repoid.
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Optional repository name or repository ID.
status (str) – Only return pull requests with the specified status. Valid options are. *
new
(default) *open
*closed
merge_state (bool) – Optional calculate merge state for each repository. This could result in longer time to fetch the data
Example output:
"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>", } }, "merge": { "clone_url": "<clone_url>", "reference": { "name": "<name>", "type": "<type>", "commit_id": "<commit_id>", } }, "author": <user_obj>, "reviewers": [ ... { "user": "<user_obj>", "review_status": "<review_status>", } ... ] } ... ], "error": null
merge_pull_request#
- merge_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, userid=<Optional:<OptionalAttr:apiuser>>)#
Merge the pull request specified by pullrequestid into its target repository.
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Optional, repository name or repository ID of the target repository to which the pull request is to be merged.
pullrequestid (int) – ID of the pull request which shall be merged.
userid (Optional(str or int)) – Merge the pull request as this user.
Example output:
"id": <id_given_in_input>, "result": { "executed": "<bool>", "failure_reason": "<int>", "merge_status_message": "<str>", "merge_commit_id": "<merge_commit_id>", "possible": "<bool>", "merge_ref": { "commit_id": "<commit_id>", "type": "<type>", "name": "<name>" } }, "error": null
update_pull_request#
- update_pull_request(apiuser, pullrequestid, repoid=<Optional:None>, title=<Optional:''>, description=<Optional:''>, description_renderer=<Optional:''>, reviewers=<Optional:None>, observers=<Optional:None>, update_commits=<Optional:None>)#
Updates a pull request.
- Parameters:
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Optional repository name or repository ID.
pullrequestid (int) – The pull request ID.
title (str) – Set the pull request title.
description (Optional(str)) – Update pull request description.
description_renderer (Optional(str)) – Update pull request renderer for the description. It should be ‘rst’, ‘markdown’ or ‘plain’
reviewers – Update pull request reviewers list with new value.
observers – Update pull request observers list with new value.
update_commits – Trigger update of commits for this pull request
- Type:
update_commits: Optional(bool)
Example output:
id : <id_given_in_input> result : { "msg": "Updated pull request `63`", "pull_request": <pull_request_object>, "updated_reviewers": { "added": [ "username" ], "removed": [] }, "updated_observers": { "added": [ "username" ], "removed": [] }, "updated_commits": { "added": [ "<sha1_hash>" ], "common": [ "<sha1_hash>", "<sha1_hash>", ], "removed": [] } } error : null
comment_pull_request#
Comment on the pull request specified with the pullrequestid, in the repository specified by the repoid, and optionally change the review status.
apiuser (AuthUser) – This is filled automatically from the Authentication Token.
repoid (str or int) – Optional repository name or repository ID.
pullrequestid (int) – The pull request ID.
commit_id (str) – 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.
message (str) – The text content of the comment.
status (str) – (Optional) Set the approval status of the pull request. One of: ‘not_reviewed’, ‘approved’, ‘rejected’, ‘under_review’
comment_type (Optional(str), default: 'note') – Comment type, one of: ‘note’, ‘todo’
resolves_comment_id (Optional(int)) – id of comment which this one will resolve
extra_recipients (Optional(list)) – list of user ids or usernames to add notifications for this comment. Acts like a CC for notification
userid (Optional(str or int)) – Comment on the pull request as this user
send_email (Optional(bool)) – Define if this comment should also send email notification
Example output: