Crear una solicitud de extracción - AWS CodeCommit

AWS CodeCommit ya no está disponible para nuevos clientes. Los clientes existentes de AWS CodeCommit pueden seguir utilizando el servicio con normalidad. Más información

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear una solicitud de extracción

La creación de solicitudes de extracción ayuda a otros usuarios a ver y revisar los cambios en el código antes de combinarlos en otra ramificación. Primero debe crear una ramificación para los cambios de código. Esta es la ramificación de origen de una solicitud de extracción. Después de confirmar y enviar esos cambios al repositorio, puede crear una solicitud de extracción que compare el contenido de dicha ramificación (la ramificación de origen) con la ramificación en la que desea combinar los cambios después de que la solicitud de extracción se cierre (la ramificación de destino).

Puede utilizar la consola de AWS CodeCommit o la AWS CLI para crear las solicitudes de extracción del repositorio.

Crear una solicitud de extracción (Consola)

Puede utilizar la consola de CodeCommit para crear una solicitud de extracción en un repositorio de CodeCommit. Si el repositorio está configurado con notificaciones, los usuarios que estén suscritos recibirán un mensaje de correo electrónico cuando se cree una solicitud de extracción.

  1. Abra la consola de CodeCommit en https://console.aws.amazon.com/codesuite/codecommit/home.

  2. En Repositories (Repositorios), elija el nombre del repositorio donde desea crear una solicitud de extracción.

  3. En el panel de navegación, elija Pull Requests.

    sugerencia

    También puede crear solicitudes de extracción en Branches (Ramificaciones) y Code (Código).

  4. Elija Create pull request.

    Creación de una solicitud de extracción desde la página de solicitudes de extracción en la consola de CodeCommit.
  5. En Create pull request, en Source, seleccione la ramificación que contiene los cambios que desea revisar.

  6. En Destination (Destino), seleccione la ramificación en la que desea combinar los cambios de código cuando se cierre la solicitud de extracción.

  7. Elija Compare. Se realiza una comparación entre las dos ramificaciones y se muestran las diferencias entre ellas. También se realiza un análisis para determinar si las dos ramificaciones se pueden fusionar automáticamente cuando se cierre la solicitud de extracción.

  8. Revise la información de la comparación y los cambios para asegurarse de que la solicitud de extracción contiene los cambios y las confirmaciones que desea revisar. En caso contrario, ajuste sus opciones para las ramificaciones de origen y destino y elija Compare de nuevo.

  9. Cuando esté satisfecho con los resultados de la comparación de la solicitud de extracción, introduzca un título breve pero descriptivo para esta revisión en el campo Title (Título). Este es el título que aparece en la lista de solicitudes de extracción para el repositorio.

  10. (Opcional) En Description (Descripción), introduzca información sobre esta revisión y cualquier otro dato que pueda ser de utilidad a los revisores.

  11. Seleccione Create (Crear).

    Creación de una solicitud de extracción

Su solicitud de extracción aparece en la lista de las solicitudes de extracción del repositorio. Si ha configurado notificaciones, los suscriptores al tema de Amazon SNS recibirán un mensaje de correo electrónico para informarles de la solicitud de extracción recién creada.

Crear una solicitud de extracción (AWS CLI)

Para utilizar los comandos de AWS CLI en CodeCommit, instale la AWS CLI. Para obtener más información, consulte Referencia de la línea de comandos.

Para usar la AWS CLI para crear una solicitud de extracción en un repositorio de CodeCommit

  1. Ejecute el comando create-pull-request, especificando:

    • El nombre de la solicitud de extracción (con la opción --title).

    • La descripción de la solicitud de extracción (con la opción --description).

    • Una lista de destinos para el comando create-pull-request, entre las que se incluyen:

      • El nombre del repositorio de CodeCommit en que se va a crear la solicitud de extracción (con el atributo repositoryName).

      • El nombre de la ramificación que contiene los cambios de código que desea revisar, también conocida como ramificación de origen (con el atributo sourceReference).

      • (Opcional) El nombre de la ramificación en la que desea fusionar los cambios de código, también conocida como ramificación de destino, si no desea fusionarlos en la ramificación predeterminada (con el atributo destinationReference).

    • Un token de idempotencia único generado por el cliente (con la opción --client-request-token).

    En este ejemplo se crea una solicitud de extracción denominada Pronunciation difficulty analyzer (Analizador de dificultades de pronunciación) con la una descripción Please review these changes by Tuesday (Revisar estos cambios antes del martes), dirigida a la ramificación de origen jane-branch. La solicitud de extracción se va a combinar en la ramificación predeterminada principal en un repositorio de CodeCommit denominado MyDemoRepo:

    aws codecommit create-pull-request --title "Pronunciation difficulty analyzer" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=jane-branch
  2. Si se ejecuta correctamente, el resultado del comando será similar al siguiente:

    { "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-main", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd3d22fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", "description": "Please review these changes by Tuesday", "title": "Pronunciation difficulty analyzer", "pullRequestTargets": [ { "destinationCommit": "5d036259EXAMPLE", "destinationReference": "refs/heads/main", "repositoryName": "MyDemoRepo", "sourceCommit": "317f8570EXAMPLE", "sourceReference": "refs/heads/jane-branch", "mergeMetadata": { "isMerged": false } } ], "lastActivityDate": 1508962823.285, "pullRequestId": "42", "clientRequestToken": "123Example", "pullRequestStatus": "OPEN", "creationDate": 1508962823.285 } }