Skip to content

update_pull_request_status

update_pull_request_status(
    pull_request_id: PullRequestId,
    pull_request_status: PullRequestStatusEnum,
    *,
    config_overrides: Optional[CodeCommitClientConfig] = None,
) -> UpdatePullRequestStatusOutput

Updates the status of a pull request.

Parameters:

  • pull_request_id (PullRequestId) –

    The system-generated ID of the pull request. To get this ID, use ListPullRequests.

  • pull_request_status (PullRequestStatusEnum) –

    The status of the pull request. The only valid operations are to update the status from OPEN to OPEN, OPEN to CLOSED or from CLOSED to CLOSED.

Raises:

Source code in docs_src/capo_codecommit/_services/code_commit.py
def update_pull_request_status(
    self,
    pull_request_id: "capo_codecommit.types.pull_request_id.PullRequestId",
    pull_request_status: "capo_codecommit.types.pull_request_status_enum.PullRequestStatusEnum",
    *,
    config_overrides: Optional[CodeCommitClientConfig] = None,
) -> "capo_codecommit.types.update_pull_request_status_output.UpdatePullRequestStatusOutput":
    """<p>Updates the status of a pull request. </p>

    Args:
        pull_request_id: <p>The system-generated ID of the pull request. To get this ID, use <a>ListPullRequests</a>.</p>
        pull_request_status: <p>The status of the pull request. The only valid operations are to update the status from <code>OPEN</code> to <code>OPEN</code>, <code>OPEN</code> to <code>CLOSED</code> or from <code>CLOSED</code> to <code>CLOSED</code>.</p>

    Raises:
        capo_codecommit.errors.encryption_integrity_checks_failed_exception.EncryptionIntegrityChecksFailedException: <p>An encryption integrity check failed.</p>
        capo_codecommit.errors.encryption_key_access_denied_exception.EncryptionKeyAccessDeniedException: <p>An encryption key could not be accessed.</p>
        capo_codecommit.errors.encryption_key_disabled_exception.EncryptionKeyDisabledException: <p>The encryption key is disabled.</p>
        capo_codecommit.errors.encryption_key_not_found_exception.EncryptionKeyNotFoundException: <p>No encryption key was found.</p>
        capo_codecommit.errors.encryption_key_unavailable_exception.EncryptionKeyUnavailableException: <p>The encryption key is not available.</p>
        capo_codecommit.errors.invalid_pull_request_id_exception.InvalidPullRequestIdException: <p>The pull request ID is not valid. Make sure that you have provided the full ID and that the pull request is in the specified repository, and then try again.</p>
        capo_codecommit.errors.invalid_pull_request_status_exception.InvalidPullRequestStatusException: <p>The pull request status is not valid. The only valid values are <code>OPEN</code> and <code>CLOSED</code>.</p>
        capo_codecommit.errors.invalid_pull_request_status_update_exception.InvalidPullRequestStatusUpdateException: <p>The pull request status update is not valid. The only valid update is from <code>OPEN</code> to <code>CLOSED</code>.</p>
        capo_codecommit.errors.pull_request_does_not_exist_exception.PullRequestDoesNotExistException: <p>The pull request ID could not be found. Make sure that you have specified the correct repository name and pull request ID, and then try again.</p>
        capo_codecommit.errors.pull_request_id_required_exception.PullRequestIdRequiredException: <p>A pull request ID is required, but none was provided.</p>
        capo_codecommit.errors.pull_request_status_required_exception.PullRequestStatusRequiredException: <p>A pull request status is required, but none was provided.</p>
        capo_codecommit.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_codecommit.types.update_pull_request_status_input.UpdatePullRequestStatusInput]",
    ) -> OperationResponse[
        "capo_codecommit.types.update_pull_request_status_output.UpdatePullRequestStatusOutput"
    ]:
        import capo_codecommit._operations.code_commit_20150413.update_pull_request_status

        output, http_response = (
            capo_codecommit._operations.code_commit_20150413.update_pull_request_status.update_pull_request_status(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdatePullRequestStatus")
    )
    input_: capo_codecommit.types.update_pull_request_status_input.UpdatePullRequestStatusInput = {
        "pull_request_id": pull_request_id,
        "pull_request_status": pull_request_status,
    }

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output