def list_pr_policies(pull_request_id, team_instance=None, detect=None, top=None, skip=None): """List policies of a pull request. :param pull_request_id: ID of the pull request. :type pull_request_id: int :param team_instance: VSTS account or TFS collection URL. Example: https://myaccount.visualstudio.com :type team_instance: str :param detect: Automatically detect instance. Default is "on". :type detect: str :param top: Maximum number of policies to list. :type top: int :param skip: Number of policies to skip. :type skip: int :rtype: list of :class:`PolicyEvaluationRecord <policy.v4_0.models.PolicyEvaluationRecord>` """ team_instance = resolve_instance(detect=detect, team_instance=team_instance) git_client = get_git_client(team_instance) pr = git_client.get_pull_request_by_id(pull_request_id) policy_client = get_policy_client(team_instance) artifact_id = "vstfs:///CodeReview/CodeReviewId/{project_id}/{pull_request_id}".format( project_id=pr.repository.project.id, pull_request_id=pull_request_id) return policy_client.get_policy_evaluations( project=pr.repository.project.id, artifact_id=artifact_id, top=top, skip=skip)
def queue_pr_policy(pull_request_id, evaluation_id, team_instance=None, detect=None): """Queue an evaluation of a policy for a pull request. :param pull_request_id: ID of the pull request. :type pull_request_id: int :param evaluation_id: ID of the policy evaluation to queue. :type evaluation_id: str :param team_instance: VSTS account or TFS collection URL. Example: https://myaccount.visualstudio.com :type team_instance: str :param detect: Automatically detect instance. Default is "on". :type detect: str :rtype: :class:`PolicyEvaluationRecord <policy.v4_0.models.PolicyEvaluationRecord>` """ try: team_instance = resolve_instance(detect=detect, team_instance=team_instance) git_client = get_git_client(team_instance) pr = git_client.get_pull_request_by_id(pull_request_id) policy_client = get_policy_client(team_instance) return policy_client.requeue_policy_evaluation( project=pr.repository.project.id, evaluation_id=evaluation_id) except Exception as ex: handle_command_exception(ex)