code: def get_pull_request(self, project, provider_name, pull_request_id, repository_id=None, service_endpoint_id=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          if provider_name is not None:
              route_values['providerName'] = self._serialize.url('provider_name', provider_name, 'str')
          if pull_request_id is not None:
              route_values['pullRequestId'] = self._serialize.url('pull_request_id', pull_request_id, 'str')
          query_parameters = {}
          if repository_id is not None:
              query_parameters['repositoryId'] = self._serialize.query('repository_id', repository_id, 'str')
          if service_endpoint_id is not None:
              query_parameters['serviceEndpointId'] = self._serialize.query('service_endpoint_id', service_endpoint_id, 'str')
          response = self._send(http_method='GET',
                                location_id='d8763ec7-9ff0-4fb4-b2b2-9d757906ff14',
                                version='5.0-preview.1',
                                route_values=route_values,
                                query_parameters=query_parameters)
          return self._deserialize('PullRequest', response)
docs: GetPullRequest.
          [Preview API] Gets a pull request object from source provider.
          :param str project: Project ID or project name
          :param str provider_name: The name of the source provider.
          :param str pull_request_id: Vendor-specific id of the pull request.
          :param str repository_id: Vendor-specific identifier or the name of the repository that contains the pull request.
          :param str service_endpoint_id: If specified, the ID of the service endpoint to query. Can only be omitted for providers that do not use service endpoints, e.g. TFVC or TFGit.
          :rtype: :class:`<PullRequest> <azure.devops.v5_0.build.models.PullRequest>`