:doc:`CodeCommit <../../codecommit>` / Client / update_pull_request_status

**************************
update_pull_request_status
**************************



.. py:method:: CodeCommit.Client.update_pull_request_status(**kwargs)

  

  Updates the status of a pull request.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus>`_  


  **Request Syntax**
  ::

    response = client.update_pull_request_status(
        pullRequestId='string',
        pullRequestStatus='OPEN'|'CLOSED'
    )
    
  :type pullRequestId: string
  :param pullRequestId: **[REQUIRED]** 

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

    

  
  :type pullRequestStatus: string
  :param pullRequestStatus: **[REQUIRED]** 

    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``.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'pullRequest': {
              'pullRequestId': 'string',
              'title': 'string',
              'description': 'string',
              'lastActivityDate': datetime(2015, 1, 1),
              'creationDate': datetime(2015, 1, 1),
              'pullRequestStatus': 'OPEN'|'CLOSED',
              'authorArn': 'string',
              'pullRequestTargets': [
                  {
                      'repositoryName': 'string',
                      'sourceReference': 'string',
                      'destinationReference': 'string',
                      'destinationCommit': 'string',
                      'sourceCommit': 'string',
                      'mergeBase': 'string',
                      'mergeMetadata': {
                          'isMerged': True|False,
                          'mergedBy': 'string',
                          'mergeCommitId': 'string',
                          'mergeOption': 'FAST_FORWARD_MERGE'|'SQUASH_MERGE'|'THREE_WAY_MERGE'
                      }
                  },
              ],
              'clientRequestToken': 'string',
              'revisionId': 'string',
              'approvalRules': [
                  {
                      'approvalRuleId': 'string',
                      'approvalRuleName': 'string',
                      'approvalRuleContent': 'string',
                      'ruleContentSha256': 'string',
                      'lastModifiedDate': datetime(2015, 1, 1),
                      'creationDate': datetime(2015, 1, 1),
                      'lastModifiedUser': 'string',
                      'originApprovalRuleTemplate': {
                          'approvalRuleTemplateId': 'string',
                          'approvalRuleTemplateName': 'string'
                      }
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **pullRequest** *(dict) --* 

        Information about the pull request.

        
        

        - **pullRequestId** *(string) --* 

          The system-generated ID of the pull request.

          
        

        - **title** *(string) --* 

          The user-defined title of the pull request. This title is displayed in the list of pull requests to other repository users.

          
        

        - **description** *(string) --* 

          The user-defined description of the pull request. This description can be used to clarify what should be reviewed and other details of the request.

          
        

        - **lastActivityDate** *(datetime) --* 

          The day and time of the last user or system activity on the pull request, in timestamp format.

          
        

        - **creationDate** *(datetime) --* 

          The date and time the pull request was originally created, in timestamp format.

          
        

        - **pullRequestStatus** *(string) --* 

          The status of the pull request. Pull request status can only change from ``OPEN`` to ``CLOSED``.

          
        

        - **authorArn** *(string) --* 

          The Amazon Resource Name (ARN) of the user who created the pull request.

          
        

        - **pullRequestTargets** *(list) --* 

          The targets of the pull request, including the source branch and destination branch for the pull request.

          
          

          - *(dict) --* 

            Returns information about a pull request target.

            
            

            - **repositoryName** *(string) --* 

              The name of the repository that contains the pull request source and destination branches.

              
            

            - **sourceReference** *(string) --* 

              The branch of the repository that contains the changes for the pull request. Also known as the source branch.

              
            

            - **destinationReference** *(string) --* 

              The branch of the repository where the pull request changes are merged. Also known as the destination branch.

              
            

            - **destinationCommit** *(string) --* 

              The full commit ID that is the tip of the destination branch. This is the commit where the pull request was or will be merged.

              
            

            - **sourceCommit** *(string) --* 

              The full commit ID of the tip of the source branch used to create the pull request. If the pull request branch is updated by a push while the pull request is open, the commit ID changes to reflect the new tip of the branch.

              
            

            - **mergeBase** *(string) --* 

              The commit ID of the most recent commit that the source branch and the destination branch have in common.

              
            

            - **mergeMetadata** *(dict) --* 

              Returns metadata about the state of the merge, including whether the merge has been made.

              
              

              - **isMerged** *(boolean) --* 

                A Boolean value indicating whether the merge has been made.

                
              

              - **mergedBy** *(string) --* 

                The Amazon Resource Name (ARN) of the user who merged the branches.

                
              

              - **mergeCommitId** *(string) --* 

                The commit ID for the merge commit, if any.

                
              

              - **mergeOption** *(string) --* 

                The merge strategy used in the merge.

                
          
        
      
        

        - **clientRequestToken** *(string) --* 

          A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

          
        

        - **revisionId** *(string) --* 

          The system-generated revision ID for the pull request.

          
        

        - **approvalRules** *(list) --* 

          The approval rules applied to the pull request.

          
          

          - *(dict) --* 

            Returns information about an approval rule.

            
            

            - **approvalRuleId** *(string) --* 

              The system-generated ID of the approval rule.

              
            

            - **approvalRuleName** *(string) --* 

              The name of the approval rule.

              
            

            - **approvalRuleContent** *(string) --* 

              The content of the approval rule.

              
            

            - **ruleContentSha256** *(string) --* 

              The SHA-256 hash signature for the content of the approval rule.

              
            

            - **lastModifiedDate** *(datetime) --* 

              The date the approval rule was most recently changed, in timestamp format.

              
            

            - **creationDate** *(datetime) --* 

              The date the approval rule was created, in timestamp format.

              
            

            - **lastModifiedUser** *(string) --* 

              The Amazon Resource Name (ARN) of the user who made the most recent changes to the approval rule.

              
            

            - **originApprovalRuleTemplate** *(dict) --* 

              The approval rule template used to create the rule.

              
              

              - **approvalRuleTemplateId** *(string) --* 

                The ID of the template that created the approval rule.

                
              

              - **approvalRuleTemplateName** *(string) --* 

                The name of the template that created the approval rule.

                
          
        
      
    
  
  **Exceptions**
  
  *   :py:class:`CodeCommit.Client.exceptions.PullRequestDoesNotExistException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidPullRequestIdException`

  
  *   :py:class:`CodeCommit.Client.exceptions.PullRequestIdRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidPullRequestStatusUpdateException`

  
  *   :py:class:`CodeCommit.Client.exceptions.InvalidPullRequestStatusException`

  
  *   :py:class:`CodeCommit.Client.exceptions.PullRequestStatusRequiredException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionIntegrityChecksFailedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyAccessDeniedException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyDisabledException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyNotFoundException`

  
  *   :py:class:`CodeCommit.Client.exceptions.EncryptionKeyUnavailableException`

  