

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

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.

# Tutoriales de introducción
<a name="getting-started-topnode"></a>

Amazon CodeCatalyst proporciona diversas plantillas que le ayudarán a empezar proyectos. También puede comenzar con un proyecto vacío y añadirle recursos. Siga los pasos de estos tutoriales para obtener más información sobre las distintas maneras de trabajar con CodeCatalyst. 

Si es la primera vez que usa CodeCatalyst, le sugerimos que comience con [Tutorial: Creación de un proyecto con el esquema Aplicación web moderna de tres niveles](getting-started-template-project.md).

**nota**  
Para seguir estos tutoriales, primero debe completar la configuración. Para obtener más información, consulte [Configuración e inicio de sesión en CodeCatalystConfiguración e inicio de sesión en CodeCatalyst](setting-up-topnode.md).

**Topics**
+ [Tutorial: Creación de un proyecto con el esquema Aplicación web moderna de tres niveles](getting-started-template-project.md)
+ [Tutorial: Inicio con un proyecto vacío y adición manual de recursos](getting-started-blank-template.md)
+ [Tutorial: Uso de funciones de IA CodeCatalyst generativa para acelerar el trabajo de desarrollo](getting-started-project-assistance.md)

Para ver más tutoriales que se centran en áreas funcionales específicas de CodeCatalyst, consulte lo siguiente: 
+ [Introducción a las notificaciones de Slack](getting-started-notifications.md)
+ [Introducción a los repositorios de CodeCatalyst código fuente y al modelo de aplicación de una sola página](source-getting-started.md)
+ [Introducción a los flujos de trabajo](workflows-getting-started.md)
+ [Introducción a los esquemas personalizados](getting-started-bp.md)
+ [Get started with the Amazon CodeCatalyst action developer guide](https://docs.aws.amazon.com/codecatalyst/latest/adk/action-development-intro.html)

Para ver tutoriales detallados, consulte lo siguiente:
+ [Tutorial: carga de artefactos en Amazon S3](build-deploy.md)
+ [Tutorial: implementación de una aplicación sin servidor](deploy-tut-lambda.md)
+ [Tutorial: implementación de una aplicación en Amazon ECS](deploy-tut-ecs.md)
+ [Tutorial: implementación de una aplicación en Amazon EKS](deploy-tut-eks.md)
+ [Tutorial: código de Lint mediante una acción GitHub](integrations-github-action-tutorial.md)
+ [Tutorial: creación y actualización de una aplicación de React](blueprint-getting-started-tutorial.md)

# Tutorial: Creación de un proyecto con el esquema Aplicación web moderna de tres niveles
<a name="getting-started-template-project"></a>

Puede empezar a desarrollar software más rápidamente si crea proyectos con un esquema. Un proyecto creado con un esquema incluye los recursos que necesita, como un repositorio de código fuente para administrar el código y un flujo de trabajo para crear e implementar la aplicación. En este tutorial, te mostraremos cómo usar el modelo de **aplicación web moderna de tres niveles** para crear un proyecto en Amazon. CodeCatalyst El tutorial también incluye ver el ejemplo implementado, invitar a otros usuarios a trabajar en él y realizar cambios en el código mediante solicitudes de extracción que se crean e implementan automáticamente en los recursos de la red Cuenta de AWS cuando se fusiona la solicitud de extracción. Mientras CodeCatalyst crea su proyecto con informes, fuentes de actividades y otras herramientas, su plan crea AWS recursos en los recursos Cuenta de AWS asociados a su proyecto. Los archivos de esquemas le permiten compilar y probar una aplicación moderna de ejemplo e implementarla en infraestructuras en Nube de AWS.

La siguiente ilustración muestra cómo se CodeCatalyst utilizan las herramientas para crear un problema con el fin de realizar un seguimiento, fusionar y generar automáticamente el cambio y, a continuación, iniciar un flujo de trabajo en el CodeCatalyst proyecto que ejecute acciones para permitir AWS CDK y CloudFormation aprovisionar la infraestructura. 

Las acciones generan recursos en la función asociada Cuenta de AWS e implementan la aplicación en una AWS Lambda función sin servidor con un punto final de API Gateway. La AWS Cloud Development Kit (AWS CDK) acción convierte una o más AWS CDK pilas en CloudFormation plantillas y despliega las pilas en la suya. Cuenta de AWS Los recursos de sus paquetes incluyen CloudFront los recursos de Amazon para distribuir contenido web dinámico, una instancia de Amazon DynamoDB para los datos de su aplicación y las funciones y políticas que respaldan la aplicación implementada.

![\[Un cambio de código, desde la creación de un problema hasta el cambio en el repositorio de origen, que luego se crea e implementa automáticamente en los recursos de AWS\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/modern-app-overview.png)


Al crear un proyecto con el esquema **Aplicación web moderna de tres niveles**, el proyecto se crea con los siguientes recursos:

**En el CodeCatalyst proyecto**:
+ Un [repositorio de código fuente](source.md) con código de muestra y YAML de flujo de trabajo
+ Un [flujo de trabajo](workflow.md) que compila e implementa el código de muestra cada vez que hay un cambio en la ramificación predeterminada
+ Un panel de problemas y un registro de tareas pendientes que puede usar para planificar el trabajo y hacer un seguimiento de este
+ Un conjunto de informes de pruebas con informes automatizados incluidos en el código de muestra

**En el asociado Cuenta de AWS**:
+ Tres AWS CloudFormation pilas que crean los recursos necesarios para la aplicación.

Para obtener más información sobre los recursos que se crearán en este tutorial AWS y CodeCatalyst como parte de él, consulte[Referencia](#getting-started-template-project-reference).

**nota**  
Los recursos y los ejemplos incluidos en un proyecto dependen del esquema que seleccione. Amazon CodeCatalyst ofrece varios modelos de proyectos que definen los recursos relacionados con su lenguaje o marco definido. Para obtener más información sobre los esquemas, consulte [Creación de un proyecto integral con CodeCatalyst planosCreación de un proyecto integral con esquemas](project-blueprints.md).

**Topics**
+ [Requisitos previos](#getting-started-template-project-prerequisites)
+ [Paso 1: crear el proyecto Aplicación web moderna de tres niveles](#getting-started-template-project-proj-create)
+ [Paso 2: invitar a alguien al proyecto](#getting-started-template-project-ipa-user)
+ [Paso 3: crear problemas para colaborar y hacer un seguimiento del trabajo](#getting-started-template-project-issue)
+ [Paso 4: ver el repositorio de código fuente](#getting-started-template-project-source)
+ [Paso 5: crear un entorno de desarrollo con una ramificación de prueba y hacer un cambio rápido de código](#getting-started-template-project-create-devenvironment)
+ [Paso 6: ver el flujo de trabajo que compila la aplicación moderna](#getting-started-template-project-view-workflow)
+ [Paso 7: solicitar que otras personas revisen los cambios](#getting-started-template-project-pull-request)
+ [Paso 8: cerrar el problema](#getting-started-template-project-close-issue)
+ [Eliminar recursos](#getting-started-template-project-clean-up)
+ [Referencia](#getting-started-template-project-reference)

## Requisitos previos
<a name="getting-started-template-project-prerequisites"></a>

Para crear un proyecto de aplicación moderna en este tutorial, debe haber completado las tareas en [Configuración e inicio de sesión en CodeCatalystConfiguración e inicio de sesión en CodeCatalyst](setting-up-topnode.md) del siguiente modo:
+ Tenga un ID de AWS constructor para iniciar CodeCatalyst sesión.
+ Debe pertenecer a un espacio y tener asignado el rol de **administrador del espacio** o **usuario avanzado** en ese espacio. Para obtener más información, consulte [Creación de un espacio](spaces-create.md), [Concesión de permisos de espacio a los usuarios](spaces-members.md) y [Rol de administrador del espacio](ipa-role-types.md#ipa-role-space-admin).
+ Ten una Cuenta de AWS asociada a tu espacio y ten la función de IAM que creaste al registrarte. Por ejemplo, durante el registro, tiene la opción de elegir crear un rol de servicio con una política de roles denominada **CodeCatalystWorkflowDevelopmentRole-*spaceName***. El rol tendrá un nombre `CodeCatalystWorkflowDevelopmentRole-spaceName` con un identificador único adjunto. Para obtener más información sobre los roles y la política de roles, consulte [El funcionamiento del rol de servicio **CodeCatalystWorkflowDevelopmentRole-*spaceName***](ipa-iam-roles.md#ipa-iam-roles-service-role). Si desea saber cuáles son los pasos para crear el rol, consulte [Creación del rol **CodeCatalystWorkflowDevelopmentRole-*spaceName*** para su cuenta y su espacio](ipa-iam-roles.md#ipa-iam-roles-service-create).

## Paso 1: crear el proyecto Aplicación web moderna de tres niveles
<a name="getting-started-template-project-proj-create"></a>

Cuando lo haya creado, el proyecto será el lugar en el que desarrollará y probará el código, coordinará las tareas de desarrollo y consultará las métricas correspondientes. El proyecto también contiene las herramientas y los recursos de desarrollo.

En este tutorial, utilizará el esquema **Aplicación web moderna de tres niveles** para crear una aplicación interactiva. El flujo de trabajo que se crea y ejecuta automáticamente como parte del proyecto creará e implementará la aplicación. El flujo de trabajo solo se ejecuta correctamente después de configurar todos los roles y la información de la cuenta para el espacio. Cuando el flujo de trabajo se haya ejecutado correctamente, puede visitar la URL del punto de conexión para ver la aplicación.

**Creación de un proyecto con un esquema**

1. [Abre la CodeCatalyst consola en https://codecatalyst.aws/.](https://codecatalyst.aws/)

1. En la CodeCatalyst consola, navegue hasta el espacio en el que desee crear un proyecto.

1. Elija **Crear proyecto**.

1. Seleccione **Empezar con un esquema**. 

1. En la barra de búsqueda, ingrese **modern**.

1. Seleccione el esquema **Aplicación web moderna de tres niveles** y elija **Siguiente**.

1. En **Asignar nombre al proyecto**, introduzca un nombre para el proyecto. Por ejemplo:

   **MyExampleProject**.
**nota**  
El nombre debe ser único dentro del espacio.

1. En **Cuenta**, selecciona Cuenta de AWS lo que añadiste al registrarte. El esquema instalará los recursos en esta cuenta.

1. En **Rol de implementación**, seleccione el rol que haya añadido durante el registro. En este ejemplo, elija `CodeCatalystWorkflowDevelopmentRole-spaceName`. 

   Si no hay ningún rol en la lista, añada uno. Para añadir un rol, selecciona **Añadir rol de IAM** y añade el rol al tuyo. Cuenta de AWS Para obtener más información, consulte [Permitir el acceso a AWS los recursos con conexión Cuentas de AWS](ipa-connect-account.md).

1. En **Plataforma de computación**, elija **Lambda**.

1. En **Opción de alojamiento frontend**, elija **Amplify Hosting**. Para obtener información al respecto AWS Amplify, consulte [¿Qué es el AWS Amplify alojamiento?](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html) en la *Guía AWS Amplify del usuario*.

1. En **Región de implementación**, introduzca el código de la Región de AWS donde desea que el esquema implemente la aplicación Mysfits y los recursos de soporte. Para obtener una lista de códigos de región, consulte [Puntos de conexión regionales](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) en la *Referencia general de AWS*.

1. En **Nombre de la aplicación**, deje el valor predeterminado de `mysfitsstring`.

1. (Opcional) En **Generar vista previa del proyecto**, seleccione **Ver código** para obtener una vista previa de los archivos del código fuente que el esquema instalará. Seleccione **Ver flujo de trabajo** para obtener una vista previa de los archivos CI/CD de definición del flujo de trabajo que se instalarán en el blueprint. La vista previa se actualiza de forma dinámica en función de sus selecciones.

1. Elija **Crear proyecto**. 

El flujo de trabajo del proyecto se iniciará en cuanto se cree el proyecto. Tardará un poco en terminar de compilar e implementar el código. Mientras tanto, puede invitar a otra persona al proyecto.

## Paso 2: invitar a alguien al proyecto
<a name="getting-started-template-project-ipa-user"></a>

Ahora que ya ha configurado el proyecto, invite a otras personas a que trabajen con usted.

**Invitación a una persona al proyecto**

1. Vaya al proyecto al que desee invitar a los usuarios.

1. En el panel de navegación, seleccione **Configuración del proyecto**.

1. En la pestaña **Miembros**, seleccione **Invitar**.

1. Escriba las direcciones de correo electrónico de las personas a las que desea invitar como usuarios del proyecto. Puede escribir varias direcciones de correo electrónico separadas por un espacio o una coma. También puede elegir entre los miembros del espacio que no sean miembros del proyecto. 

1. Elija el rol para el usuario.

   Cuando haya terminado de añadir usuarios, seleccione **Invitar**.

## Paso 3: crear problemas para colaborar y hacer un seguimiento del trabajo
<a name="getting-started-template-project-issue"></a>

CodeCatalyst te ayuda a realizar un seguimiento de las funciones, las tareas, los errores y cualquier otro aspecto relacionado con tu proyecto que presente problemas. Puede crear problemas para hacer un seguimiento de las ideas y el trabajo necesarios. De forma predeterminada, al crear un problema, este se añade al registro de tareas pendientes. Puede mover los problemas a un panel en el que podrá hacer un seguimiento del trabajo en curso. También puede asignar un problema a un miembro específico del proyecto.

**Creación de un problema para un proyecto**

1. En el panel de navegación, elija **Problemas**.

1. Seleccione **Crear el problema**. 

1. En **Título del problema**, introduzca un nombre para el problema. También tiene la opción de proporcionar una descripción del problema. En este ejemplo, use **make a change in the `src/mysfit_data.json` file.**

1. Elija la prioridad, la estimación, el estado y las etiquetas. En **Cesionario**, seleccione **\$1Añadirme** para asignarse el problema.

1. Seleccione **Crear el problema**. Ahora, el problema se puede ver en el panel. Elija la ficha para mover el problema a la columna **En curso**. 

Para obtener más información, consulte [Realice un seguimiento y organice el trabajo con problemas en CodeCatalystSeguimiento y organización de los trabajos con problemas](issues.md).

## Paso 4: ver el repositorio de código fuente
<a name="getting-started-template-project-source"></a>

El esquema instala un repositorio de código fuente que contiene archivos para definir y respaldar la aplicación o el servicio. A continuación, encontrará una lista con algunos directorios y archivos importantes en el repositorio de código fuente.
+ Directorio **.cloud9**: contiene archivos de soporte para el entorno de desarrollo AWS Cloud9 .
+ Directorio **.codecatalyst**: contiene el archivo de definición del flujo de trabajo en `YAML` para todos los flujos de trabajo incluidos en el esquema.
+ **Directorio.idea**: contiene archivos auxiliares para los entornos de JetBrains desarrollo.
+ Directorio **.vscode**: contiene archivos de soporte para el entorno de desarrollo de Visual Studio Code.
+ Directorio **cdkStacks**: contiene los archivos de AWS CDK pila que definen la infraestructura del. Nube de AWS
+ Directorio **src**: contiene el código fuente de la aplicación.
+ Directorio de **pruebas**: contiene archivos para las pruebas integrales y unitarias que se ejecutan como parte del CI/CD flujo de trabajo automatizado que se ejecuta al crear y probar la aplicación.
+ Directorio **web**: contiene el código fuente del frontend. También hay archivos de proyecto, como el archivo `package.json` que contiene metadatos importantes sobre el proyecto, la página `index.html` del sitio web, el archivo `.eslintrc.cjs` para el lint de código y el archivo `tsconfig.json` para especificar los archivos raíz y las opciones del compilador.
+ Archivo `Dockerfile`: describe el contenedor de la aplicación.
+ Archivo `README.md`: contiene la información de configuración para el proyecto.

**Navegación a los repositorios de código fuente de un proyecto**

1. Vaya al proyecto y lleve a cabo una de las siguientes acciones:
   + En la página de resumen del proyecto, elija el repositorio que desee de la lista y, a continuación, elija **Ver repositorio**.
   + En el panel de navegación, elija **Código** y, a continuación, elija **Repositorios de origen**. En **Repositorios de origen**, elija el nombre del repositorio en la lista. Puede filtrar la lista de repositorios escribiendo una parte del nombre en la barra de filtros.

1. En la página de inicio del repositorio, consulte el contenido del repositorio y la información sobre los recursos asociados, como el número de solicitudes de extracción y los flujos de trabajo. De forma predeterminada, se muestra el contenido de la ramificación predeterminada. Para cambiar la vista, seleccione otra ramificación en la lista desplegable.

## Paso 5: crear un entorno de desarrollo con una ramificación de prueba y hacer un cambio rápido de código
<a name="getting-started-template-project-create-devenvironment"></a>

En el repositorio de código fuente, puede trabajar en el código rápidamente creando un entorno de desarrollo. En este tutorial, se da por sentado que hará lo siguiente:
+ Cree un entorno AWS Cloud9 de desarrollo.
+ Elegir la opción de trabajar en una nueva ramificación de la ramificación **principal** al crear el entorno de desarrollo.
+ Usar el nombre `test` de esta nueva ramificación.

En un paso posterior, utilizará el entorno de desarrollo para hacer un cambio de código y crear una solicitud de extracción.

**Creación de un entorno de desarrollo con una nueva ramificación**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Vaya al proyecto donde quiera crear un entorno de desarrollo.

1. Seleccione el nombre del repositorio de la lista de repositorios de código fuente para el proyecto. Si lo prefiere, en el panel de navegación, seleccione **Código** y **Repositorios de origen** y elija el repositorio para el que quiera crear un entorno de desarrollo.

1. En la página de inicio del repositorio, seleccione **Crear entorno de desarrollo**.

1. Seleccione un IDE compatible en el menú desplegable. Para obtener más información, consulte [Entornos de desarrollo integrados compatibles](devenvironment-create.md#devenvironment-supported-ide).

1. Elija el repositorio que desea clonar, elija **Trabajar en una nueva ramificación**, introduzca el nombre de la ramificación en el campo **Nombre de ramificación**, y elija una ramificación a partir de la cual crear la ramificación nueva en el menú desplegable **Crear ramificación desde**.

1. Si lo desea, añada un alias para el entorno de desarrollo.

1. Si lo desea, elija el botón de editar **Configuración del entorno de desarrollo** para editar la configuración informática, de almacenamiento o el tiempo de espera del entorno de desarrollo.

1. Seleccione **Crear**. Mientras se crea el entorno de desarrollo, la columna de estado del entorno de desarrollo mostrará **Iniciando** y la columna de estado mostrará **Ejecutando** una vez se haya creado el entorno de desarrollo. Se abrirá una nueva pestaña con su entorno de desarrollo en el IDE que elija. Puede editar el código y confirmar y enviar los cambios.

En esta sección, trabajarás con la aplicación de muestra que has generado CodeCatalyst realizando cambios en el código con solicitudes de extracción que se crean e implementan automáticamente en los recursos de la red Cuenta de AWS cuando se fusiona la solicitud de extracción. 

**Cambios en el archivo `src/mysfit_data.json`**

1. Vaya al entorno de desarrollo de su proyecto. En AWS Cloud9, expande el menú de navegación lateral para buscar los archivos. Expanda `mysfits` y `src` y abra `src/mysfit_data.json`.

1. En el archivo, cambie el valor del campo `"Age":` de 6 a 12. La línea debería tener el siguiente aspecto: 

   ```
       {
           "Age": 12,
           "Description": "Twilight's personality sparkles like the night sky and is looking for a forever home with a Greek hero or God. While on the smaller side at 14 hands, he is quite adept at accepting riders and can fly to 15,000 feet. Twilight needs a large area to run around in and will need to be registered with the FAA if you plan to fly him above 500 feet. His favorite activities include playing with chimeras, going on epic adventures into battle, and playing with a large inflatable ball around the paddock. If you bring him home, he'll quickly become your favorite little Pegasus.",
           "GoodEvil": "Good",
           "LawChaos": "Lawful",
           "Name": "Twilight Glitter",
           "ProfileImageUri": "https://www.mythicalmysfits.com/images/pegasus_hover.png",
           "Species": "Pegasus",
           "ThumbImageUri": "https://www.mythicalmysfits.com/images/pegasus_thumb.png"
       },
   ```

1. Guarde el archivo.

1. Cambie al repositorio de mysfits con el comando **cd /projects/mysfits**.

1. Añada, confirme y envíe los cambios mediante los comandos **git add**, **git commit** y **git push**.

   ```
   git add .
   git commit -m "make an example change"
   git push
   ```

## Paso 6: ver el flujo de trabajo que compila la aplicación moderna
<a name="getting-started-template-project-view-workflow"></a>

Después de crear el proyecto de aplicación moderna, CodeCatalyst genera varios recursos en su nombre, incluido un flujo de trabajo. Un *flujo de trabajo* es un procedimiento automatizado definido en un archivo .yaml que describe cómo compilar, probar e implementar el código.

En este tutorial, CodeCatalyst creó un flujo de trabajo y lo inició automáticamente al crear su proyecto. (en función de cuándo creó el proyecto, es posible que el flujo de trabajo siga ejecutándose). Utilice los siguientes procedimientos para comprobar el progreso del flujo de trabajo, revisar los registros generados y los informes de pruebas y, por último, navegar hasta la URL de la aplicación implementada.

**Comprobación del progreso del flujo de trabajo**

1. **En la CodeCatalyst consola, en el panel de navegación, elija **CI/CD** y, a continuación, elija Flujos de trabajo.**

   Aparecerá una lista de flujos de trabajo. Estos son los flujos de trabajo que el CodeCatalyst blueprint generó e inició al crear el proyecto.

1. Observe la lista de flujos de trabajo; debería ver cuatro:
   + Los dos flujos de trabajo de la parte superior corresponden a la ramificación `test` que ha creado en [Paso 5: crear un entorno de desarrollo con una ramificación de prueba y hacer un cambio rápido de código](#getting-started-template-project-create-devenvironment). Estos flujos de trabajo son clones de los flujos de trabajo de la ramificación `main`. No **ApplicationDeploymentPipeline**está activo porque está configurado para usarse con la `main` rama. El **OnPullRequest**flujo de trabajo no se ejecutó porque no se realizó ninguna solicitud de extracción.
   + Los dos flujos de trabajo de la parte inferior corresponden a la ramificación `main` que se creó al ejecutar el esquema. El **ApplicationDeploymentPipeline**flujo de trabajo está activo y tiene una ejecución en curso (o finalizada).
**nota**  
Si se produce un **DeployBackend**error o se produce **un error** en la **ApplicationDeploymentPipeline**ejecución, es posible que se deba a que anteriormente ejecutó la aplicación web moderna de tres niveles y dejó recursos antiguos que entraban en conflicto con el esquema actual. @cdk\$1bootstrap Deberá primero eliminar estos recursos antiguos y, luego, ejecutar de nuevo el flujo de trabajo. Para obtener más información, consulte [Eliminar recursos](#getting-started-template-project-clean-up).

1. Elija el **ApplicationDeploymentPipeline**flujo de trabajo asociado a la `main` rama, en la parte inferior. Este flujo de trabajo se ejecutó con el código fuente de la ramificación `main`.

   Aparecerá un diagrama de flujo de trabajo. El diagrama muestra varios bloques, y cada uno de ellos representa una tarea o una *acción*. La mayoría de las acciones se organizan verticalmente; es decir, las acciones de la parte superior se ejecutan antes que las de la parte inferior. Las acciones mostradas una al lado de la otra se ejecutan en paralelo. Todas las acciones agrupadas deben ejecutarse correctamente antes de que pueda iniciarse la acción que se encuentra debajo de ellas.

   A continuación, puede ver una descripción de los bloques principales.
   + **WorkflowSource**— Este bloque representa tu repositorio de origen. Muestra, entre otra información, el nombre del repositorio de origen (**mysfits**) y la confirmación que inició automáticamente la ejecución del flujo de trabajo. CodeCatalyst generaste esta confirmación cuando creaste tu proyecto.
   + **Build**: este bloque representa un grupo de dos acciones; ambas deben completarse correctamente para que comience la siguiente.
   + **DeployBackend**— Este bloque representa una acción que despliega los componentes de backend de la aplicación en la AWS nube.
   + **Tests**: este bloque representa un grupo de dos acciones de prueba; ambas deben completarse correctamente para que comience la siguiente.
   + **DeployFrontend**— Este bloque representa una acción que despliega los componentes frontend de la aplicación en la nube. AWS 

1. Seleccione la pestaña **Definición** (cerca de la parte superior). El [archivo de definición del flujo de trabajo](workflow-reference.md) aparece a la derecha. El archivo tiene las siguientes secciones importantes:
   + Una sección `Triggers`, en la parte superior. Indica que el flujo de trabajo debe iniciarse siempre que se inserte o envíe código en la ramificación `main` del repositorio de código fuente predeterminado. Si se envía a otras ramificaciones (por ejemplo, `test`), este flujo de trabajo no se iniciará. El flujo de trabajo se ejecuta con los archivos de la ramificación `main`.
   + Una sección `Actions`, bajo `Triggers`. En esta sección, se definen las acciones que aparecen en el diagrama del flujo de trabajo.

1. Seleccione la pestaña **Último estado** (cerca de la parte superior) y elija cualquier acción en el diagrama del flujo de trabajo.

1. A la derecha, seleccione la pestaña **Configuración** para ver los ajustes de configuración utilizados por la acción durante la última ejecución. Cada parámetro de configuración tiene una propiedad coincidente en el archivo de definición del flujo de trabajo.

1. Deje la consola abierta y pase al siguiente procedimiento.

**Revisión de los registros de compilación y los informes de pruebas**

1. Seleccione la pestaña **Último estado**.

1. En el diagrama de flujo de trabajo, elija la **DeployFrontend**acción.

1. Espere a que finalice la acción. Observe el icono “en curso” (![\[Workflow in progress.\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/flows/run-in-progress.png)) y espere a que cambie al icono de “éxito” (![\[Workflow success.\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/flows/run-success.png)).

1. Seleccione la acción **build\$1backend**.

1. Seleccione la pestaña **Registros** y expanda un par de secciones para ver los mensajes de registro en estos pasos. Puede ver los mensajes relacionados con la configuración del backend.

1. Seleccione la pestaña **Informes** y, a continuación, elija el `backend-coverage.xml` informe. CodeCatalyst muestra el informe asociado. El informe muestra las pruebas de cobertura de código que se realizaron e indica la proporción de líneas de código que se validaron correctamente mediante las pruebas (por ejemplo, el 80 %).

   Para obtener más información sobre los informes de pruebas, consulte [Pruebas con flujos de trabajoPruebas con flujos de trabajo](test-workflow-actions.md).
**sugerencia**  
También puede ver los informes de las pruebas seleccionando **Informes** en el panel de navegación.

1. Deje la CodeCatalyst consola abierta y continúe con el procedimiento siguiente.

**Confirmación de implementación correcta en la aplicación moderna**

1. Vuelva al **ApplicationDeploymentPipeline**flujo de trabajo y elija el *string* enlace **Ejecutar** de la última ejecución.

1. En el diagrama de flujo de trabajo, busca la **DeployFrontend**acción y selecciona el enlace **Ver aplicación**. Aparecerá el sitio web de Mysfit.
**nota**  
Si no ves el enlace **Ver la aplicación** dentro de la **DeployFrontend**acción, asegúrate de elegir el enlace del ID de ejecución.

1. Busque el pegaso de Mysfit, llamado **Twilight Glitter**. Como puede ver, la edad tiene el valor `6`. Va a hacer un cambio en el código para actualizar la edad.

## Paso 7: solicitar que otras personas revisen los cambios
<a name="getting-started-template-project-pull-request"></a>

Ahora que tiene los cambios en una ramificación llamada `test`, puede pedir que otras personas los revisen, creando para ello una solicitud de extracción. Siga estos pasos para crear una solicitud de extracción y combinar los cambios desde la ramificación `test` a la ramificación `main`.

**Creación de una solicitud de extracción**

1. Vaya a su proyecto.

1. Realice una de las siguientes acciones:
   + En el panel de navegación, seleccione **Código**, seleccione **Solicitudes de extracción** y seleccione **Crear solicitud de extracción**. 
   + En la página de inicio del repositorio, seleccione **Más** y, después, seleccione **Crear solicitud de extracción**.
   + En la página del proyecto, seleccione **Crear solicitud de extracción**.

1. En **Repositorio de origen**, asegúrese de que el repositorio de código fuente especificado sea el que contenga el código confirmado. Esta opción solo aparece si no ha creado la solicitud de extracción desde la página principal del repositorio.

1. En **Ramificación de destino**, elija la ramificación en la que quiera combinar el código después de revisarlo. 

1. En **Ramificación de origen**, elija la ramificación que contenga el código confirmado. 

1. En **Título de la solicitud de extracción**, introduzca un título que ayude a otros usuarios a entender qué es lo que hay que revisar y por qué. 

1. (Opcional) En **Descripción de la solicitud de extracción**, proporcione información, como un enlace a las incidencias o una descripción de los cambios.
**sugerencia**  
Puedes elegir **Escribir una descripción para que yo** genere CodeCatalyst automáticamente una descripción de los cambios incluidos en la solicitud de incorporación de cambios. Puede realizar cambios en la descripción generada automáticamente después de añadirla a la solicitud de extracción.  
Esta funcionalidad requiere que las características de IA generativa estén habilitadas en el espacio y no estén disponibles para las solicitudes de extracción en los repositorios vinculados. Para obtener más información, consulte [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html). 

1. (Opcional) En **Problemas**, seleccione **Vincular problemas** y, a continuación, elija un problema de la lista o introduzca su ID. Para desvincular un problema, seleccione el icono de desvinculación.

1. (Opcional) En **Revisores obligatorios**, seleccione **Agregar revisores obligatorios**. Elija en la lista miembros del proyecto para añadirlos. Los revisores obligatorios deben aprobar los cambios antes de poder combinar la solicitud de extracción en la ramificación de destino. 
**nota**  
No es posible agregar un revisor como revisor obligatorio y como revisor opcional. No es posible añadirse a uno mismo como revisor. 

1. (Opcional) En **Revisores opcionales**, seleccione **Agregar revisores opcionales**. Elija en la lista miembros del proyecto para añadirlos. No es obligatorio que los revisores opcionales aprueben los cambios para poder combinar la solicitud de extracción en la ramificación de destino. 

1. Revise las diferencias entre las ramificaciones. La diferencia que se muestra en una solicitud de extracción consiste en los cambios entre la revisión en la ramificación de origen y la base de combinación, que es la confirmación del encabezado en la ramificación de destino en el momento en que se creó la solicitud de extracción. Si no se muestra ningún cambio, es posible que las ramificaciones sean idénticas o que haya elegido la misma ramificación tanto para el origen como para el destino. 

1. Cuando tenga claro que la solicitud de extracción contiene el código y los cambios que desea revisar, elija **Crear**.
**nota**  
Una vez creada la solicitud de extracción, podrá añadir comentarios. Los comentarios se pueden añadir a la solicitud de extracción o a líneas individuales de los archivos, así como a la solicitud de extracción en general. Puede añadir enlaces a recursos, como archivos, utilizando el signo @ seguido del nombre del archivo. 

Al crear la solicitud de extracción, el **OnPullRequest**flujo de trabajo comienza a utilizar los archivos fuente de la `test` sucursal. Mientras los revisores aprueban el cambio de código, puede observar los resultados seleccionando el flujo de trabajo y viendo el resultado de la prueba.

Cuando otros hayan revisado el cambio, podrá combinar el código. Al combinar el código con la ramificación predeterminada, se iniciará automáticamente el flujo de trabajo que compilará e implementará los cambios.<a name="getting-started-template-project-pull-requests-merge-console"></a>

**Para fusionar una solicitud de extracción desde la CodeCatalyst consola**

1. Vaya al proyecto de aplicación moderna.

1. En la página del proyecto, en **Solicitudes de extracción abiertas**, elija la solicitud de extracción que quiera combinar. Si no ve la solicitud de extracción, seleccione **Ver todas** y selecciónela de la lista. Seleccione **Combinar**.

1. Elija entre las estrategias de combinación disponibles para la solicitud de extracción. Puede seleccionar o deseleccionar la opción para eliminar la ramificación de origen después de combinar la solicitud de extracción; después, seleccione **Combinar**.
**nota**  
Si el botón **Combinar** no está activo o ves la etiqueta **No se puede combinar**, es porque uno o varios revisores necesarios aún no han aprobado la solicitud de extracción o la solicitud de extracción no se puede fusionar en la consola. CodeCatalyst Si hay algún revisor que no ha aprobado la solicitud de extracción, aparecerá el icono de reloj en **Información general**, en el área **Detalles de la solicitud de extracción**. Si todos los revisores obligatorios han aprobado la solicitud de extracción, pero el botón **Combinar** sigue inactivo, es posible que haya un conflicto de combinación. Puedes resolver los conflictos de fusión de la rama de destino en la CodeCatalyst consola y, a continuación, fusionar la solicitud de extracción, o puedes resolver los conflictos y fusionar localmente y, a continuación, enviar la confirmación que contiene la fusión a. CodeCatalyst Para obtener más información, consulte [Combinación de una solicitud de extracción (Git)](pull-requests-merge.md#pull-requests-merge-git) y la documentación de Git.

Una vez que hayas fusionado los cambios de la `test` rama en la **main** rama, el cambio inicia automáticamente el **ApplicationDeploymentPipeline**flujo de trabajo que crea e implementa el cambio. <a name="getting-started-template-project-pull-requests-merge-view-success"></a>

**Para ver cómo se ejecuta la confirmación combinada en el flujo de trabajo ApplicationDeploymentPipeline**

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**. 

1. En **Flujos de trabajo**, en **ApplicationDeploymentPipeline**, expanda **Ejecuciones recientes**. Puede ver la ejecución del flujo de trabajo iniciada por la confirmación de la combinación. Si lo desea, selecciónela para ver el progreso de la ejecución. 

1. Cuando se complete la ejecución, cargue de nuevo la URL que visitó anteriormente. Compruebe que la edad del pegaso haya cambiado.  
![\[El cambio de código combinado, compilado e implementado, es visible en la aplicación\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/modified-mysfits.png)

## Paso 8: cerrar el problema
<a name="getting-started-template-project-close-issue"></a>

Cuando se resuelve un problema, se puede cerrar en la CodeCatalyst consola.

**Cierre de un problema en un proyecto**

1. Vaya a su proyecto.

1. En el panel de navegación, elija **Problemas**.

1. Drag-and-drop el problema de la columna **Listo**.

Para obtener más información, consulte [Realice un seguimiento y organice el trabajo con problemas en CodeCatalystSeguimiento y organización de los trabajos con problemas](issues.md).

## Eliminar recursos
<a name="getting-started-template-project-clean-up"></a>

Limpie CodeCatalyst y elimine AWS los rastros de este tutorial de su entorno.

Puede seguir utilizando el proyecto que ha usado en este tutorial o puede eliminar el proyecto y sus recursos asociados.

**nota**  
Al eliminar este proyecto, se eliminarán todos los repositorios, problemas y artefactos del proyecto para todos los miembros.

**Para eliminar un proyecto**

1. Acceda al proyecto y elija **Configuración del proyecto**.

1. Elija la pestaña **General**.

1. En el nombre del proyecto, seleccione **Eliminar proyecto**.

**Para eliminar recursos en Amazon S3 CloudFormation y en Amazon**

1. Inicia sesión en el Consola de administración de AWS con la misma cuenta que añadiste a tu CodeCatalyst espacio.

1. Vaya al servicio de **CloudFormation**.

1. Elimina la pila de **mysfits *string***.

1. Elimine la pila de mysfits de **desarrollo *string***.

1. Elija (pero no elimine) la pila. **CDKToolkit** Elija la pestaña **Recursos**. Elija el **StagingBucket**enlace y elimine el depósito y su contenido en Amazon S3.
**nota**  
Si no elimina este bucket manualmente, es posible que aparezca un error al volver a ejecutar el esquema Aplicación web moderna de tres niveles.

1. (Opcional) Elimine la **CDKToolkit**pila.

## Referencia
<a name="getting-started-template-project-reference"></a>

El modelo moderno de aplicación web de tres niveles despliega los recursos en su CodeCatalyst espacio y en su AWS cuenta en la nube. AWS Los recursos son los siguientes:
+ **En** tu espacio: CodeCatalyst 
  + Un CodeCatalyst proyecto que incluye los siguientes recursos:
    + Un [repositorio de código fuente](source.md): este repositorio contiene código de muestra para una aplicación web Mysfits.
    + Un [flujo de trabajo](workflow.md): este flujo compila e implementa el código de la aplicación Mysfits cada vez que hay un cambio en la ramificación predeterminada.
    + Un [panel de problemas](issues.md) y un registro de tareas pendientes: se pueden utilizar para planificar el trabajo y hacer un seguimiento de este.
    + Un [conjunto de informes de pruebas](test-workflow-actions.md): este conjunto contiene informes automatizados incluidos en el código de muestra.
+ **En lo asociado Cuenta de AWS**:
  + Una **CDKToolkit**pila: esta pila despliega los siguientes recursos:
    + Un depósito provisional de Amazon S3, una política del depósito y la AWS KMS clave utilizada para cifrar el depósito.
    + Un rol de implementación de IAM para la acción de implementación.
    + AWS Funciones y políticas de IAM que respaldan los recursos de la pila.
**nota**  
No **CDKToolkit**se desmonta ni se recrea para cada implementación. Se trata de una pila que se inicia en cada cuenta como soporte para el AWS CDK.
  + Una pila de **mysfits de desarrollo**: esta *string* BackEnd pila implementa los siguientes recursos de back-end:
    + Un punto de conexión de Amazon API Gateway.
    + AWS Funciones y políticas de IAM en apoyo de los recursos de la pila.
    + Una AWS Lambda función y una capa proporcionan la plataforma de cómputo sin servidor para la aplicación moderna.
    + Un rol y una política de IAM para la implementación del bucket y de la función de Lambda.
  + Una pila **mysfits**: esta *string* pila implementa la aplicación de interfaz. AWS Amplify 

### Véase también
<a name="getting-started-template-project-reference-links"></a>

Para obtener más información sobre los AWS servicios en los que se crean los recursos como parte de este tutorial, consulte lo siguiente:
+ **Amazon S3**: un servicio de almacenamiento de activos frontend en un servicio de almacenamiento de objetos con el mejor nivel del sector en escalabilidad, disponibilidad de datos, seguridad y rendimiento. Para obtener más información, consulte la [Guía del usuario de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/).
+ **Amazon API Gateway**: un servicio para crear, publicar, mantener, supervisar y proteger REST, HTTP y WebSocket APIs a cualquier escala. Para obtener más información, consulte la [Guía para desarrolladores de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/).
+ **Amplify**: un servicio para alojar aplicaciones frontend. Para obtener más información, consulte la [Guía del usuario de AWS Amplify Hosting](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).
+ **AWS Cloud Development Kit (AWS CDK)**— Un marco para definir la infraestructura de nube en el código y aprovisionarla mediante AWS CloudFormation ella. AWS CDK Incluye el AWS CDK kit de herramientas, que es una herramienta de línea de comandos para interactuar con AWS CDK aplicaciones y pilas. Para obtener más información, consulte la [Guía para desarrolladores de AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/).
+ **Amazon DynamoDB**: un servicio de base de datos NoSQL completamente administrado para el almacenamiento de datos. Para obtener más información, consulte la [Guía para desarrolladores de Amazon DynamoDB](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).
+ **AWS Lambda**: un servicio para invocar el código en una infraestructura de computación de alta disponibilidad sin aprovisionar ni administrar servidores. Para obtener más información, consulte la [Guía para desarrolladores de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/).
+ **AWS IAM**: un servicio para controlar de forma segura el acceso a los recursos AWS y sus recursos. Para obtener más información, consulte la [Guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

# Tutorial: Inicio con un proyecto vacío y adición manual de recursos
<a name="getting-started-blank-template"></a>

Para crear un proyecto vacío sin ningún recurso predefinido dentro, seleccione el esquema **Proyecto vacío** al crear el proyecto. Tras crear un proyecto vacío, podrá crear recursos y añadírselos según lo que necesite para el proyecto. Como los proyectos creados sin un blueprint están vacíos al crearlos, esta opción requiere más conocimientos sobre la creación y la configuración de CodeCatalyst recursos para empezar.

**Topics**
+ [Requisitos previos](#getting-started-bt-prerequisites)
+ [Creación de un proyecto vacío](#getting-started-bt-proj-create)
+ [Creación de un repositorio de código fuente](#getting-started-bt-source-create)
+ [Creación de un flujo de trabajo para compilar, probar e implementar cambios en el código](#getting-started-bt-workflow-create)
+ [Invitación a una persona al proyecto](#getting-started-bt-ipa-user)
+ [Creación de problemas para colaborar y para hacer un seguimiento del trabajo](#getting-started-bt-issue)

## Requisitos previos
<a name="getting-started-bt-prerequisites"></a>

Para crear un proyecto vacío, debe tener asignado el rol de **administrador del espacio** o **usuario avanzado**. Si es la primera vez que inicia sesión en CodeCatalyst, consulte[Configuración e inicio de sesión en CodeCatalystConfiguración e inicio de sesión en CodeCatalyst](setting-up-topnode.md).

## Creación de un proyecto vacío
<a name="getting-started-bt-proj-create"></a>

Crear un proyecto es el primer paso para la colaboración. Si quiere crear sus propios recursos, como repositorios de código fuente y flujos de trabajo, puede empezar con un proyecto vacío. 

**Para crear un proyecto vacío**

1. Vaya al espacio en el que desea crear un proyecto.

1. En el panel de control del espacio, seleccione **Crear proyecto**.

1. Elija **Empezar desde cero**.

1. En **Asigne un nombre a su proyecto**, introduzca el nombre que desea asignar a su proyecto. El nombre debe ser único dentro de su espacio.

1. Elija **Crear proyecto**.

Ahora que ya tiene un proyecto vacío, el siguiente paso consiste en crear un repositorio de código fuente.

## Creación de un repositorio de código fuente
<a name="getting-started-bt-source-create"></a>

Cree un repositorio de código fuente para almacenar el código del proyecto y colaborar en él. Los miembros del proyecto pueden clonar este repositorio en sus ordenadores locales para trabajar en el código. También puede vincular un repositorio alojado en un servicio compatible, pero en este tutorial no explicaremos esta opción. Para obtener más información, consulte [Vinculación de un repositorio de código fuente](source-repositories-link.md).

**Creación de un repositorio de código fuente**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Vaya a su proyecto.

1. En el panel de navegación, elija **Código** y, a continuación, elija **Repositorios de origen**.

1. Elija **Agregar repositorio** y, a continuación, elija **Crear repositorio**.

1. En **Nombre del repositorio**, especifique un nombre para el repositorio. En esta guía, utilizamos*codecatalyst-source-repository*, pero puede elegir un nombre diferente. Los nombres de repositorio deben ser únicos dentro de un proyecto. Para obtener más información sobre los requisitos para nombres de repositorios, consulte [Cuotas para los repositorios de fuentes en CodeCatalyst](source-quotas.md).

1. (Opcional) En **Descripción**, añada una descripción del repositorio que ayude a los demás usuarios del proyecto a entender para qué se utiliza. 

1. Seleccione **Crear el repositorio (predeterminado)**. Esta opción crea un repositorio que incluye una ramificación predeterminada y un archivo README.md. A diferencia de lo que ocurre con un repositorio vacío, puede usar este repositorio en cuanto lo cree.

1. En **Ramificación predeterminada**, deje el nombre como *main* a menos que tenga un motivo para elegir otro nombre. Todos los ejemplos en esta guía utilizan el nombre *main* para la ramificación predeterminada.

1. (Opcional) Añada un archivo `.gitignore` para el tipo de código que planea insertar. 

1. Seleccione **Crear**.
**nota**  
CodeCatalyst agrega un `README.md` archivo a tu repositorio al crearlo. CodeCatalysttambién crea una confirmación inicial para el repositorio en una rama predeterminada llamada **main**. Puede editar o eliminar el archivo README.md, pero no puede eliminar la ramificación predeterminada.

Puede añadir código rápidamente en el repositorio creando un entorno de desarrollo. Para este tutorial, le recomendamos que cree un entorno de desarrollo utilizando AWS Cloud9 y elija la opción de crear una rama a partir de la rama **principal** al crear el entorno de desarrollo. Para esta ramificación, usamos el nombre **test**, pero puede introducir un nombre de ramificación distinto si lo prefiere.

**Creación de un entorno de desarrollo con una nueva ramificación**

1. Abre la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Vaya al proyecto donde quiera crear un entorno de desarrollo.

1. Seleccione el nombre del repositorio de la lista de repositorios de código fuente para el proyecto. Si lo prefiere, en el panel de navegación, seleccione **Código** y **Repositorios de origen** y elija el repositorio para el que quiera crear un entorno de desarrollo.

1. En la página de inicio del repositorio, seleccione **Crear entorno de desarrollo**.

1. Seleccione un IDE compatible en el menú desplegable. Para obtener más información, consulte [Entornos de desarrollo integrados compatibles](devenvironment-create.md#devenvironment-supported-ide).

1. Elija el repositorio que desea clonar, elija **Trabajar en una nueva ramificación**, introduzca el nombre de la ramificación en el campo **Nombre de ramificación**, y elija una ramificación a partir de la cual crear la ramificación nueva en el menú desplegable **Crear ramificación desde**.

1. Si lo desea, añada un alias para el entorno de desarrollo.

1. Si lo desea, elija el botón de editar **Configuración del entorno de desarrollo** para editar la configuración informática, de almacenamiento o el tiempo de espera del entorno de desarrollo.

1. Seleccione **Crear**. Mientras se crea el entorno de desarrollo, la columna de estado del entorno de desarrollo mostrará **Iniciando** y la columna de estado mostrará **Ejecutando** una vez se haya creado el entorno de desarrollo. Se abrirá una nueva pestaña con su entorno de desarrollo en el IDE que elija. Puede editar el código y confirmar y enviar los cambios.

## Creación de un flujo de trabajo para compilar, probar e implementar cambios en el código
<a name="getting-started-bt-workflow-create"></a>

En CodeCatalyst, organiza la creación, las pruebas y el despliegue de sus aplicaciones o servicios en flujos de trabajo. Los flujos de trabajo consisten en acciones y se pueden configurar para que se ejecuten automáticamente después de determinados eventos en el repositorio de código fuente, como la inserción de código o la apertura o actualización de una solicitud de extracción. Para obtener más información acerca de los flujos de trabajo, consulte [Creación, pruebas e implementaciones con flujos de trabajoCreación, pruebas e implementaciones con flujos de trabajo](workflow.md).

Siga las instrucciones en [Introducción a los flujos de trabajo](workflows-getting-started.md) para crear su primer flujo de trabajo.

## Invitación a una persona al proyecto
<a name="getting-started-bt-ipa-user"></a>

Ahora que ya ha configurado el proyecto personalizado, invite a otras personas a que trabajen con usted.

**Invitación a una persona al proyecto**

1. Vaya al proyecto al que desee invitar a los usuarios.

1. En el panel de navegación, seleccione **Configuración del proyecto**.

1. En la pestaña **Miembros**, seleccione **Invitar**.

1. Escriba las direcciones de correo electrónico de las personas a las que desea invitar como usuarios del proyecto. Puede escribir varias direcciones de correo electrónico separadas por un espacio o una coma. También puede elegir entre los miembros del espacio que no sean miembros del proyecto. 

1. Elija el rol para el usuario.

   Cuando haya terminado de añadir usuarios, seleccione **Invitar**.

## Creación de problemas para colaborar y para hacer un seguimiento del trabajo
<a name="getting-started-bt-issue"></a>

CodeCatalyst te ayuda a realizar un seguimiento de las funciones, las tareas, los errores y cualquier otro trabajo relacionado con tu proyecto que presente problemas. Puede crear problemas para hacer un seguimiento de las ideas y el trabajo necesarios. De forma predeterminada, al crear un problema, este se añade al registro de tareas pendientes. Puede mover los problemas a un panel en el que podrá hacer un seguimiento del trabajo en curso. También puede asignar un problema a un miembro específico del proyecto.

**Creación de un problema para un proyecto**

1. Abre la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

   Asegúrese de que está navegando por el proyecto en el que desea crear los problemas. Para ver todos los proyectos, en el panel de navegación, selecciona **Amazon** y CodeCatalyst, si es necesario, selecciona **Ver todos los proyectos**. Elija el proyecto en el que desee crear los problemas o trabajar con ellos.

1. En el panel de navegación, elija **Seguimiento** y **Tareas pendientes**.

1. Seleccione **Crear el problema**. 

1. En **Título del problema**, introduzca un nombre para el problema. También tiene la opción de proporcionar una descripción del problema. Si lo desea, elija el estado, la prioridad y la estimación del problema. También puede asignarle el problema a un miembro del proyecto desde la lista de miembros.
**sugerencia**  
Puede asignarle el problema a **Amazon Q** para que Amazon Q intente resolverlo. Si este intento tiene éxito, se creará una solicitud de extracción y el estado del problema cambiará a **En revisión** para que pueda revisar y probar el código. Para obtener más información, consulte [Tutorial: Uso de funciones de IA CodeCatalyst generativa para acelerar el trabajo de desarrollo](getting-started-project-assistance.md).  
Esta funcionalidad requiere que las características de IA generativa estén habilitadas en el espacio. Para obtener más información, consulte [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html). 

1. Seleccione **Save**.

Tras crear los problemas, puede asignárselos a los miembros del proyecto, hacer estimaciones sobre ellos y hacer un seguimiento de ellos en un panel Kanban. Para obtener más información, consulte [Realice un seguimiento y organice el trabajo con problemas en CodeCatalystSeguimiento y organización de los trabajos con problemas](issues.md).

# Tutorial: Uso de funciones de IA CodeCatalyst generativa para acelerar el trabajo de desarrollo
<a name="getting-started-project-assistance"></a>

Si tienes un proyecto y un repositorio de código fuente en Amazon CodeCatalyst en un espacio en el que están habilitadas las funciones de IA generativa, puedes utilizarlas para acelerar el desarrollo de software. Los desarrolladores suelen tener más tareas pendientes que tiempo para realizarlas. A menudo, no se toman el tiempo de explicar los cambios de código a sus compañeros de equipo cuando crean solicitudes de extracción para la revisión de esos cambios, y esperan que los demás usuarios consideren que los cambios se explican por sí mismos. Los creadores y revisores de las solicitudes de extracción tampoco tienen tiempo para buscar y leer detenidamente todos los comentarios de una solicitud de extracción, especialmente si la solicitud de extracción tiene varias revisiones. CodeCatalyst se integra con el Amazon Q Developer Agent para el desarrollo de software a fin de proporcionar funciones de IA generativas que pueden ayudar a los miembros del equipo a realizar sus tareas con mayor rapidez y aumentar el tiempo que tienen para centrarse en las partes más importantes de su trabajo. 

Amazon Q Developer es un asistente conversacional generativo basado en inteligencia artificial que puede ayudarlo a comprender, crear, ampliar y operar aplicaciones. AWS Para acelerar su desarrollo AWS, el modelo que impulsa Amazon Q se complementa con AWS contenido de alta calidad para producir respuestas más completas, procesables y referenciadas. Para obtener más información, consulte [What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html) en la *Guía del usuario de Amazon Q Developer*. 

**nota**  
**Desarrollado por Amazon Bedrock**: AWS implementa la [detección automática de abusos](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html). Como las características **Escribir descripción automáticamente**, **Crear un resumen del contenido**, **Recomendar tareas**, **Utilizar Amazon Q para crear o agregar características a un proyecto** y **Asignar problemas a Amazon Q** del agente de Amazon Q Developer para el desarrollo de software están basadas en Amazon Bedrock, los usuarios pueden aprovechar al máximo los controles implementados en Amazon Bedrock para garantizar la protección, la seguridad y el uso responsable de la inteligencia artificial (IA).

En este tutorial, aprenderás a utilizar las funciones de IA generativa CodeCatalyst para ayudarte a crear proyectos con planos, así como a añadir modelos a proyectos existentes. Además, aprenderá a resumir los cambios entre las ramificaciones al crear solicitudes de extracción, así como a resumir los comentarios que se dejan en una solicitud de extracción. También aprenderá a crear problemas con sus ideas de cambios o mejoras en el código y a asignárselos a Amazon Q. Como parte del trabajo con los problemas asignados a Amazon Q, verá cómo dejar que Amazon Q sugiera tareas y cómo asignar y trabajar en cualquier tarea que genere como parte del trabajo en un problema.

**Topics**
+ [Requisitos previos](#getting-started-project-assistance-prerequisites)
+ [Uso de Amazon Q para elegir un esquema al crear un proyecto o al añadir funciones](#getting-started-project-assistance-create-apply-bp)
+ [Creación de un resumen de los cambios de código entre ramificaciones al crear una solicitud de extracción](#getting-started-project-assistance-pull-request-summary)
+ [Creación de un resumen de los comentarios sobre los cambios de código en una solicitud de extracción](#getting-started-project-assistance-comment-summary)
+ [Creación de un problema y asignación de este en Amazon Q](#getting-started-project-assistance-issue-to-code)
+ [Creación de un problema y recomendaciones de tareas para este por parte de Amazon Q](#getting-started-project-assistance-issue-to-tasks)
+ [Eliminar recursos](#getting-started-project-assistance-clean-up)

## Requisitos previos
<a name="getting-started-project-assistance-prerequisites"></a>

Para trabajar con las CodeCatalyst funciones de este tutorial, primero debes haber completado y tener acceso a los siguientes recursos:
+ Tienes un AWS Builder ID o una identidad de inicio de sesión único (SSO) para iniciar sesión. CodeCatalyst
+ Debe encontrarse en un espacio que tenga habilitadas las características de IA generativa. Para obtener más información, consulte [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html).
+ Debe tener el rol de colaborador o administrador del proyecto en un proyecto de ese espacio.
+ A menos que esté creando un proyecto con IA generativa, el proyecto existente debe tener, al menos, un repositorio de código fuente configurado para él. Los repositorios vinculados no son compatibles.
+ Al asignar problemas para que la IA generativa cree una solución inicial, el proyecto no puede estar configurado con la extensión **Software de Jira**. La extensión no es compatible para esta característica. 

Para obtener más información, consulte [Creación de un espacio](spaces-create.md), [Realice un seguimiento y organice el trabajo con problemas en CodeCatalystSeguimiento y organización de los trabajos con problemas](issues.md), [Añada funcionalidad a los proyectos con extensiones en CodeCatalystAdición de funcionalidad a proyectos mediante extensiones](extensions.md) y [Concesión de acceso en los roles de usuario](ipa-roles.md).

Este tutorial se basa en un proyecto creado con el esquema **Aplicación web moderna de tres niveles** con Python. Si utiliza un proyecto creado con un esquema diferente, puede seguir los pasos, pero es posible que algunos detalles varíen, como el código de ejemplo y el lenguaje. 

## Uso de Amazon Q para elegir un esquema al crear un proyecto o al añadir funciones
<a name="getting-started-project-assistance-create-apply-bp"></a>

El desarrollador del proyecto también puede colaborar con Amazon Q, un asistente de IA generativa, al crear nuevos proyectos o al añadir componentes a proyectos existentes. Puede proporcionar a Amazon Q los requisitos del proyecto interactuando con él en una interfaz similar a un chat. En función de sus requisitos, Amazon Q le sugiere un esquema y también describe los requisitos que no se pueden cumplir. Si el espacio tiene esquemas personalizados, Amazon Q los aprende y también los incluye en las recomendaciones. Después, puede continuar con la sugerencia de Amazon Q si está satisfecho: el asistente creará los recursos necesarios, como un repositorio de código fuente con el código que necesite. Amazon Q también crea problemas con los requisitos que no se pueden cumplir mediante un esquema. Para obtener más información sobre los CodeCatalyst blueprints disponibles, consulte. [Creación de un proyecto integral con CodeCatalyst planosCreación de un proyecto integral con esquemas](project-blueprints.md) Para obtener más información sobre el uso de Amazon Q con esquemas, consulte [Prácticas recomendadas al utilizar Amazon Q para crear proyectos o añadir funciones con esquemas](projects-create.md#projects-create-amazon-q).

**Creación de un proyecto con Amazon Q**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. En la CodeCatalyst consola, navegue hasta el espacio en el que desee crear un plano.

1. En el panel de control del espacio, seleccione **Crear con Amazon Q**.

1. En el campo de entrada de texto de las peticiones en Amazon Q, proporcione instrucciones escribiendo una breve descripción del proyecto que desea crear. Por ejemplo, `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   (Opcional) En **Probar ejemplos**, puede usar una petición escrita previamente seleccionando un esquema. Por ejemplo, si elige la aplicación React, aparecerá la siguiente petición: `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”`

1. Seleccione **Enviar** para enviar las instrucciones a Amazon Q. El asistente de IA generativa proporciona una sugerencia y describe los requisitos que el esquema no puede cumplir. Por ejemplo, Amazon Q podría sugerirle lo siguiente en función de sus criterios:

   ```
   I recommend using the Modern three-tier web application blueprint based on 
                       your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Modern three-tier web application
   By Amazon Web Services
   
   This blueprint creates a Mythical Mysfits 3-tier web application with a modular presentation, application, and data layers. 
   The application leverages containers, infrastructure as code (IaC), continuous integration and continuous delivery (CI/CD), 
   and serverless code functions.
   
   Version: 0.1.163
   
   View details
   
   The following requirements could not be met so I will create issues for you.
   • Add authentication and authorization mechanisms for security and allowable actions.
   ```

1. (Opcional) Para ver la información más detallada del esquema sugerido, seleccione **Ver detalles**.

1. Realice una de las siguientes acciones:

   1. Seleccione **Sí, usar este esquema** si está satisfecho con la sugerencia.

   1. Seleccione **Editar petición** si desea modificar la petición.

   1. Seleccione **Comenzar de nuevo** si desea borrar completamente el mensaje.

1. Realice una de las siguientes acciones:

   1. Seleccione **Configurar** si desea configurar el esquema sugerido. También puede configurar el esquema más tarde.

   1. Seleccione **Omitir** si no desea modificar la configuración del esquema en este momento.

1. Si ha decidido configurar el esquema, elija **Continuar** después de modificar los recursos del proyecto.

1. Cuando se le solicite, introduzca el nombre que desea asignar al proyecto y los nombres de los recursos asociados. El nombre debe ser único dentro de su espacio.

1. Seleccione **Crear proyecto** para crear un proyecto con el esquema. Amazon Q crea recursos a partir del esquema. Por ejemplo, si crea un proyecto con el esquema de aplicación de una sola página, se crea un repositorio fuente para el código y los flujos de trabajo relevantes. CI/CD 

1. (Opcional) De forma predeterminada, Amazon Q también crea problemas para los requisitos que el esquema no cumple. Puede elegir los elementos para los que no quiera crear problemas. Cuando decida dejar que Amazon Q cree problemas, también podrá asignarle un problema a Amazon Q. Analizará el problema en el contexto de los repositorios de código fuente correspondientes, y proporcionará un resumen de los archivos y el código fuente relevantes. Para obtener más información, consulte [Búsqueda y visualización de problemas](issues-view.md), [Creación de un problema y asignación de este en Amazon Q](#getting-started-project-assistance-issue-to-code) y [Prácticas recomendadas al crear problemas asignados a Amazon Q y al trabajar en ellos](issues-create-issue.md#issues-create-issue-assign-genai-best-practices).

Tras crear un proyecto con Amazon Q, también puedes utilizar Amazon Q para añadir nuevos componentes, ya que te sugiere CodeCatalyst planos en función de tus necesidades.

**Adición de un esquema con Amazon Q**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. En la CodeCatalyst consola, navegue hasta el proyecto en el que desee añadir un plano.

1. Seleccione **Añadir con Amazon Q**.

1. En el campo de entrada de texto de las peticiones en Amazon Q, proporcione instrucciones escribiendo una breve descripción del proyecto que desea crear. Por ejemplo, `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   (Opcional) En **Probar ejemplos**, puede usar una petición escrita previamente seleccionando un esquema. Por ejemplo, si elige la aplicación React, aparecerá la siguiente petición: `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”`

1. Seleccione **Enviar** para enviar las instrucciones a Amazon Q. El asistente de IA generativa proporciona una sugerencia y describe los requisitos que el esquema no puede cumplir. Por ejemplo, Amazon Q podría sugerirle lo siguiente en función de sus criterios:

   ```
   I recommend using the Single-page application blueprint based on your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Single-page application
   By Amazon Web Services
   
   This blueprint creates a SPA (single-page application) using React, Vue, or Angular frameworks and deploys to AWS Amplify Hosting.
   
   Version: 0.2.15
   View details
   
   The following requirements could not be met so I will create issues for you.
   • The application should have reusable UI components
   • The application should support for client-side routing
   • The application may require server-side rendering for improved performance and SEO
   ```

1. (Opcional) Para ver la información más detallada del esquema sugerido, seleccione **Ver detalles**.

1. Realice una de las siguientes acciones:

   1. Seleccione **Sí, usar este esquema** si está satisfecho con la sugerencia.

   1. Seleccione **Editar petición** si desea modificar la petición.

   1. Seleccione **Comenzar de nuevo** si desea borrar completamente el mensaje.

1. Realice una de las siguientes acciones:

   1. Seleccione **Configurar** si desea configurar el esquema sugerido. También puede configurar el esquema más tarde.

   1. Seleccione **Omitir** si no desea modificar la configuración del esquema en este momento.

1. Si ha decidido configurar el esquema, elija **Continuar** después de modificar los recursos del proyecto.

1. Seleccione **Añadir al proyecto** para añadir recursos a un proyecto con el esquema. Amazon Q crea recursos a partir del esquema. Por ejemplo, si añades un proyecto con el esquema de aplicación de una sola página, se crea un repositorio fuente para el código y los flujos de trabajo relevantes. CI/CD 

1. (Opcional) De forma predeterminada, Amazon Q también crea problemas para los requisitos que el esquema no cumple. Puede elegir los elementos para los que no quiera crear problemas. Cuando decida dejar que Amazon Q cree problemas, también podrá asignarle un problema a Amazon Q. Analizará el problema en el contexto de los repositorios de código fuente correspondientes, y proporcionará un resumen de los archivos y el código fuente relevantes. Para obtener más información, consulte [Creación de un problema y asignación de este en Amazon Q](#getting-started-project-assistance-issue-to-code) y [Prácticas recomendadas al crear problemas asignados a Amazon Q y al trabajar en ellos](issues-create-issue.md#issues-create-issue-assign-genai-best-practices).

## Creación de un resumen de los cambios de código entre ramificaciones al crear una solicitud de extracción
<a name="getting-started-project-assistance-pull-request-summary"></a>

Una solicitud de extracción es el método principal para que usted u otros miembros del proyecto puedan revisar y combinar los cambios en el código entre ramificaciones o hacer comentarios sobre estos. Puede utilizar las solicitudes de extracción para revisar de forma colaborativa los cambios en el código relacionados con pequeños cambios o correcciones, incorporación de características importantes o versiones nuevas del software publicado. En la descripción de la solicitud de extracción, resumir los cambios en el código y la razón para estos resulta útil para otras personas que deseen revisar el código, y ayuda a comprender el historial de los cambios que se van introduciendo. Sin embargo, los desarrolladores suelen aportar detalles ambiguos o confiar en que el código no necesita explicación, en lugar de describir los cambios con suficiente detalle como para que los revisores entiendan lo que están revisando o comprendan el motivo tras el cambio.

Puede usar la característica **Escribir descripción automáticamente** al crear solicitudes de extracción para que Amazon Q cree una descripción de los cambios contenidos en una solicitud de extracción. Al elegir esta opción, Amazon Q analiza las diferencias entre la ramificación de origen, que contiene los cambios de código, y la ramificación de destino en la que quiera combinar estos cambios. A continuación, crea un resumen de cuáles son esos cambios, así como su mejor interpretación de la intención y el efecto de dichos cambios.

**nota**  
Esta característica no funciona con los submódulos de Git. No resumirá ningún cambio en un submódulo de Git que forme parte de la solicitud de extracción.   
Esta característica no está disponible para las solicitudes de extracción en los repositorios vinculados.

Puede probar esta característica con cualquier solicitud de extracción que cree pero, en este tutorial, la probaremos realizando algunos cambios sencillos en el código contenido en un proyecto creado en un esquema **Aplicación web moderna de tres niveles** con Python.

**sugerencia**  
Si utiliza un proyecto creado con un esquema distinto o con su propio código, puede seguir este tutorial, pero los ejemplos no coincidirán con el código de su proyecto. En lugar del ejemplo que se sugiere a continuación, haga cambios sencillos en una ramificación del código de su proyecto; luego, cree una solicitud de extracción para probar la característica tal y como se muestra en los siguientes pasos.

Primero, creará una ramificación en el repositorio de código fuente. Luego, hará un cambio rápido en el código en un archivo de esa ramificación mediante el editor de texto de la consola. A continuación, creará una solicitud de extracción y utilizará la característica **Escribir descripción automáticamente** para resumir los cambios que haya hecho.

**Creación de una ramificación (consola)**

1. En la CodeCatalyst consola, navega hasta el proyecto en el que reside tu repositorio de origen.

1. Seleccione el nombre del repositorio de la lista de repositorios de código fuente para el proyecto. Como alternativa, en el panel de navegación, elija **Código** y, a continuación, elija **Repositorios de origen**.

1. Elija el repositorio donde desee crear una ramificación.

1. En la página de información general del repositorio, elija **Más** y **Crear ramificación**.

1. Introduzca un nombre para la ramificación.

1. Elija una ramificación desde la que creara la ramificación y, a continuación, seleccione **Crear**. 

Cuando tenga la ramificación, edite un archivo en esa ramificación con un cambio sencillo. En este ejemplo, editará el archivo `test_endpoint.py` para cambiar el número de reintentos para las pruebas (de **3** a **5**).

**sugerencia**  
También puede optar por crear o usar un entorno de desarrollo para hacer este cambio en el código. Para obtener más información, consulte [Creación de un entorno de desarrollo](devenvironment-create.md).

**Edición del archivo `test_endpoint.py` en la consola**

1. En la página de información general del repositorio de código fuente **mysfits**, seleccione el menú desplegable de la ramificación y elija la ramificación que ha creado en el procedimiento anterior.

1. En **Archivos**, vaya al archivo que desee editar. Por ejemplo, para editar el archivo `test_endpoint.py`, expanda **tests**, expanda **integ** y elija `test_endpoint.py`.

1. Elija **Edit (Edición de)**.

1. En la línea 7, cambie el número de veces que se reintentarán todas las pruebas:

   ```
   def test_list_all(retry=3):
   ```

   a:

   ```
   def test_list_all(retry=5):
   ```

1. Seleccione **Confirmar** para confirmar los cambios en la ramificación.

Ahora que ya tiene una ramificación con cambios, puede crear una solicitud de extracción.

**Creación de una solicitud de cambios con un resumen de los cambios**

1. En la página de información general del repositorio, elija **Más** y **Crear la solicitud de extracción**.

1. En **Ramificación de destino**, elija la ramificación en la que quiera combinar el código después de revisarlo. 
**sugerencia**  
Elija la ramificación desde la que creó la ramificación en el procedimiento anterior, a fin de ver una demostración muy sencilla de esta característica. Por ejemplo, si ha creado la ramificación a partir de la ramificación predeterminada del repositorio, elija esa ramificación como la de destino para la solicitud de extracción.

1. En **Ramificación de origen**, seleccione la ramificación que contenga los cambios que acaba de confirmar en el archivo `test_endpoint.py`. 

1. En **Título de la solicitud de extracción**, introduzca un título que ayude a otros usuarios a entender qué es lo que hay que revisar y por qué. 

1. En **Descripción de la solicitud de extracción**, seleccione **Escribir descripción automáticamente** para dejar que Amazon Q cree una descripción de los cambios contenidos en la solicitud de extracción.

1. Aparecerá un resumen de los cambios. Revise el texto sugerido y seleccione **Aceptar y añadir a la descripción**.

1. Si lo desea, modifique el resumen para que refleje mejor los cambios que ha hecho en el código. También puede añadir revisores o vincular los problemas a esta solicitud de extracción. Cuando haya terminado de hacer los cambios adicionales que desee, seleccione **Crear**.

## Creación de un resumen de los comentarios sobre los cambios de código en una solicitud de extracción
<a name="getting-started-project-assistance-comment-summary"></a>

Cuando los usuarios revisan una solicitud de extracción, suelen dejar comentarios sobre los cambios en dicha solicitud. Si hay muchos comentarios de muchos revisores, puede resultar difícil elegir temas comunes en los comentarios o saber si los ha repasado todos. Puede usar la característica **Crear resumen de comentarios** para que Amazon Q analice todos los comentarios sobre los cambios de código en una solicitud de extracción y cree un resumen.

**nota**  
Los resúmenes de comentarios son temporales. Si actualiza una solicitud de extracción, el resumen desaparecerá. Los resúmenes de contenido no incluyen comentarios sobre la solicitud de extracción en general, sino solo los comentarios sobre las diferencias de código en las revisiones de la solicitud.  
Esta característica no funciona con los comentarios sobre los cambios de código en los submódulos de Git.  
Esta característica no está disponible para las solicitudes de extracción en los repositorios vinculados.

**Creación de un resumen de comentarios en una solicitud de extracción**

1. Vaya a la solicitud de extracción que creó en el procedimiento anterior. 
**sugerencia**  
Si lo prefiere, puede usar cualquier solicitud de extracción abierta en el proyecto. En el panel de navegación, seleccione **Código** y **Solicitudes de extracción** y elija cualquier solicitud de extracción abierta.

1. Si la solicitud de extracción aún no tiene comentarios, añada alguno (en **Cambios**).

1. En **Descripción general**, seleccione **Crear resumen de comentarios**. Cuando haya terminado, se ampliará la sección **Resumen de comentarios**. 

1. Revise el resumen de los comentarios dejados sobre los cambios en el código en las revisiones de la solicitud de extracción y compárelo con los comentarios de la solicitud de extracción.

## Creación de un problema y asignación de este en Amazon Q
<a name="getting-started-project-assistance-issue-to-code"></a>

Los equipos de desarrollo crean problemas para hacer un seguimiento de su trabajo y gestionarlo, pero a veces el problema persiste porque no está claro quién debe trabajar en él, o bien porque el problema requiere investigar una parte concreta de la base de código, o bien porque hay que ocuparse primero de otras tareas urgentes. CodeCatalyst incluye la integración con Amazon Q Developer Agent para el desarrollo de software. Puede asignar problemas a un asistente de IA generativa llamado **Amazon Q**, que puede analizar un problema basándose en el título y la descripción. Si le asigna el problema a Amazon Q, este intentará crear un borrador de solución para que lo repase. Con esta ayuda, su equipo y usted pueden centrar su trabajo en los problemas que requieran su atención, mientras Amazon Q trabaja en una solución para aquellos problemas que usted no puede abordar inmediatamente por falta de recursos. 

**sugerencia**  
**Amazon Q** funciona mejor en cuestiones o problemas sencillos y directos. Para obtener los mejores resultados, utilice un lenguaje sencillo para explicar claramente lo que quiere que se haga.

Cuando asignes un problema a **Amazon Q**, CodeCatalyst marcará el problema como bloqueado hasta que confirmes cómo quieres que Amazon Q lo solucione. Debe responder a tres preguntas antes de que pueda continuar: 
+  Debe decidir si quiere confirmar cada paso o si prefiere que el sistema vaya procediendo sin decirle nada. Si decide confirmar cada paso, puede responder a Amazon Q con comentarios sobre el método que crea, para poder repetirlo si es necesario. Si elige esta opción, Amazon Q también puede revisar los comentarios que los usuarios dejen en cualquier solicitud de extracción. Si decide no confirmar cada paso, Amazon Q podría completar el trabajo más rápido, pero no revisará ningún comentario que le aporte sobre el problema o sobre la solicitud de extracción que cree.
+ Debe decidir si permitirá que actualice los archivos del flujo de trabajo como parte de su proceso. Es posible que el proyecto tenga flujos de trabajo configurados para iniciar ejecuciones ante eventos de solicitudes de extracción. Si es así, cualquier solicitud de extracción que Amazon Q cree, y que incluya la creación o actualización del YAML del flujo de trabajo, podría iniciar una ejecución de los flujos de trabajo incluidos en la solicitud de extracción. Como práctica recomendada, no permita que Amazon Q trabaje en archivos de flujo de trabajo a menos que esté seguro de que no hay flujos de trabajo en el proyecto que vayan a ejecutar automáticamente estos flujos antes de revisar y aprobar la solicitud de extracción que se cree.
+ Debe decidir si quiere permitir que sugiera la creación de tareas para dividir el trabajo del problema en incrementos más pequeños que puedan asignarse individualmente a los usuarios (lo que incluye a Amazon Q). Si permite que Amazon Q sugiera y cree tareas, esto puede acelerar el desarrollo de problemas complejos, ya que podría haber varias personas trabajando en partes discretas del problema. Esto también puede ayudar a comprender la totalidad del trabajo, ya que, en circunstancias normales, el trabajo necesario para completar cada tarea es más simple que el problema al que pertenece.
+ Debe decidir en qué repositorio de código fuente quiere que trabaje. Aunque el proyecto tenga varios repositorios de código fuente, Amazon Q solo puede trabajar en el código de un repositorio. Los repositorios vinculados no son compatibles.

Cuando haya confirmado las distintas opciones, **Amazon Q** pasará el problema al estado **En curso** e intentará determinar de qué trata la solicitud en función del título del problema, la descripción y el código en el repositorio especificado. Creará un comentario anclado en el que proporcionará información actualizada sobre el estado del trabajo. Tras revisar los datos, Amazon Q formulará un posible método como solución. Amazon Q registra sus acciones actualizando el comentario anclado y dejando comentarios sobre el progreso del problema en cada etapa. A diferencia de lo que ocurre con los comentarios y las respuestas anclados, no lleva un registro estrictamente cronológico del trabajo. En lugar de eso, coloca la información más relevante sobre el trabajo en el nivel superior del comentario anclado. Intentará crear código basándose en su método y en el análisis del código que ya está en el repositorio. Si genera correctamente una posible solución, creará una ramificación y confirmará el código en esa ramificación. Luego, creará una solicitud de extracción que combinará esa ramificación con la ramificación predeterminada. Cuando Amazon Q termina su trabajo, pasa el problema al estado **En revisión** para que su equipo y usted sepan que hay código listo para la evaluación.

**nota**  
Esta característica solo está disponible mediante **Problemas** en la región Oeste de EE. UU. (Oregón). No está disponible si ha configurado el proyecto para usar Jira con la extensión **Software de Jira**. Además, si ha personalizado el diseño del panel, es posible que el problema no cambie de estado. Para obtener los mejores resultados, use esta característica solo con proyectos que tengan un diseño de panel estándar.  
Esta característica no funciona con los submódulos de Git. No puede hacer cambios en ningún submódulo de Git incluido en el repositorio.  
Cuando haya asignado un problema a Amazon Q, no podrá cambiar el título o la descripción del problema ni asignárselo a nadie más. Si desasigna a **Amazon Q** del problema, este finalizará el paso actual y, a continuación, dejará de trabajar. Tras esta desasignación, no podrá reanudar su trabajo ni recibir de nuevo una asignación al problema.  
Si un problema está asignado a Amazon Q, se puede mover automáticamente a la columna **En revisión** si un usuario decide permitirle crear tareas. Sin embargo, es posible que el problema **En revisión** siga teniendo tareas en un estado diferente, como el estado **En curso**.

En esta parte del tutorial, creará tres problemas basados en las posibles características del código incluido en los proyectos creados con el esquema **Aplicación web moderna de tres niveles**: uno para añadir o crear una nueva criatura de mysfit, otro para añadir una característica de ordenación y otro para actualizar un flujo de trabajo de modo que incluya una ramificación llamada **test**.

**nota**  
 Si está trabajando en un proyecto con un código diferente, cree problemas con los títulos y las descripciones que se relacionen con esa base de código.

**Creación de un problema y generación de una solución para su análisis**

1. En el panel de navegación, seleccione **Problemas** y compruebe que se encuentra en la vista **Panel**.

1. Seleccione **Crear el problema**.

1. Póngale al problema un título que explique de forma sencilla lo que quiere hacer. Por ejemplo, para este problema, pondremos el título **Create another mysfit named Quokkapus**. En **Descripción**, proporcione los siguientes datos:

   ```
   Expand the table of mysfits to 13, and give the new mysfit the following characteristics:
   
   Name: Quokkapus
   
   Species: Quokka-Octopus hybrid
   
   Good/Evil: Good
   
   Lawful/Chaotic: Chaotic
   
   Age: 216
   
   Description: Australia is full of amazing marsupials, but there's nothing there quite like the Quokkapus. 
   She's always got a friendly smile on her face, especially when she's using her eight limbs to wrap you up 
   in a great big hug. She exists on a diet of code bugs and caffeine. If you've got some gnarly code that needsa
   assistance, adopt Quokkapus and put her to work - she'll love it! Just make sure you leave enough room for 
   her to grow, and keep that coffee coming.
   ```

1. (Opcional) Adjunte al problema una imagen para utilizarla como miniatura y foto de perfil del mysfit. Al hacer esto, se actualizará la descripción para incluir detalles sobre qué imágenes quiere usar y por qué. Por ejemplo, puede añadir lo siguiente a la descripción: “El mysfit requiere que los archivos de imagen se muestren en el sitio web. Añada estas imágenes adjuntas al problema en el repositorio de código fuente como parte del trabajo y muéstrelas en el sitio web”.
**nota**  
Durante las interacciones de este tutorial, las imágenes adjuntas podrían no mostrarse en el sitio web. Puede añadir las imágenes al sitio web y, a continuación, dejar comentarios para que Amazon Q actualice el código de modo que apunte a las imágenes que desea usar tras haber creado una solicitud de extracción.

   Revise la descripción y asegúrese de que contiene todos los detalles necesarios antes de continuar con el siguiente paso.

1. En **Cesionarios**, seleccione **Asignar a Amazon Q.**

1. En **Repositorio de origen**, elija el nombre del repositorio de código fuente que contiene el código del proyecto.

1. Si es necesario, ponga en activo el selector **Detener Amazon Q después de cada paso para que espere a que se haya revisado el trabajo**.
**nota**  
Si elige que Amazon Q pare después de cada paso, podrá comentar el problema o cualquier tarea creada, y tendrá la opción de hacer que Amazon Q cambie el método un máximo de tres veces en función de los comentarios. Si elige que Amazon Q no pare después de cada paso para poder revisar el trabajo, es posible que el trabajo avance más rápido, ya que Amazon Q no tiene que esperar a los comentarios, pero no podrá usar comentarios para cambiar el método que Amazon Q utilice. Si elige esa opción, Amazon Q tampoco responderá a los comentarios que se dejen en una solicitud de extracción.

1. Desactive el selector **Permitir que Amazon Q modifique los archivos del flujo de trabajo**.

1. Active el selector **Permitir que Amazon Q sugiera la creación de tareas**.

1. Seleccione **Crear el problema**. La vista cambiará al panel Problemas.

1. Seleccione **Crear el problema** para crear otro problema; esta vez, con el título **Change the get\$1all\$1mysfits() API to return mysfits sorted by the Age attribute**. Asigne este problema a **Amazon Q** y cree el problema.

1. Seleccione **Crear el problema** para crear otro problema; esta vez, con el título **Update the OnPullRequest workflow to include a branch named test in its triggers**. Si lo desea, ponga un enlace al flujo de trabajo en la descripción. Asigne este problema a **Amazon Q**, pero esta vez asegúrese de que el selector **Permitir que Amazon Q modifique los archivos del flujo de trabajo** esté activado. Cree el problema para volver al panel Problemas.
**sugerencia**  
Puede buscar archivos, como los archivos de flujo de trabajo, introduciendo el símbolo de arroba (`@`) y el nombre del archivo.

Cuando haya creado y asignado los problemas, estos pasarán al estado **En curso**. Amazon Q añadirá comentarios, en un comentario anclado, para hacer un seguimiento del progreso del problema. Si puede definir un método para una solución, actualizará la descripción del problema con una sección **Antecedentes**, que contiene el análisis del código base, y una sección **Método**, que detalla el método propuesto para crear una solución. Si Amazon Q logra encontrar una solución al problema descrito en el problema, creará una ramificación y los cambios de código en esa ramificación para implementar la solución propuesta. Si el código propuesto contiene similitudes con el código fuente abierto que Amazon Q conoce, proporcionará un archivo que incluya enlaces a ese código para que pueda revisarlo. Cuando el código esté listo, creará una solicitud de extracción para que pueda revisar los cambios de código sugeridos, añadirá en el problema un enlace a esa solicitud de extracción y pasará el problema al estado **En revisión**.

**importante**  
Revise siempre todos los cambios en el código de una solicitud de extracción antes de combinarla. Los cambios de código combinados realizados por Amazon Q, como cualquier otro cambio de código, pueden afectar negativamente a la base de código y al código de infraestructura si el código combinado no se revisa adecuadamente y contiene errores en el momento de combinarse.

**Revisión de un problema y de una solicitud de extracción vinculada que contienen cambios hechos por Amazon Q**

1. En **Problemas**, seleccione un problema asignado a Amazon Q y que se encuentre **En curso**. Revise los comentarios para supervisar el progreso de Amazon Q. Si hay información de antecedentes y método, revísela en la descripción del problema. Si ha decidido permitir que Amazon Q sugiera tareas, revise las tareas propuestas y tome las medidas necesarias. Por ejemplo, si Amazon Q ha sugerido tareas y le gustaría cambiar el orden o asignar tareas a usuarios específicos, seleccione **Cambiar, añadir o reordenar las tareas** y lleve a cabo las actualizaciones necesarias. Cuando termine de ver el problema, seleccione **X** para cerrar el panel del problema.
**sugerencia**  
Para ver el progreso de las tareas, elija la tarea en la lista de tareas del problema. Las tareas no aparecen como elementos separados en el panel, y solo se puede acceder a ellas a través de un problema. Si se asigna una tarea a Amazon Q, debe abrirla para aprobar cualquier acción que desee realizar. También debe abrir una tarea para ver las solicitudes de extracción vinculadas, ya que no aparecerán como vínculos en el problema, sino solo en la tarea. Para volver a un problema desde una tarea, seleccione el enlace al problema.

1. Ahora, elija un problema asignado a Amazon Q que esté **En revisión**. Revise los antecedentes y el método registrados en la descripción del problema. Revise los comentarios para comprender las acciones que se han llevado a cabo. Revise todas las tareas creadas para trabajos relacionados con este problema, lo que incluye el progreso, las acciones que deba realizar y los comentarios. En **Solicitudes de extracción**, seleccione el enlace a la solicitud de extracción, junto a la etiqueta **Abierta**, para revisar el código. 
**sugerencia**  
Las solicitudes de extracción generadas para las tareas solo aparecen como solicitudes de extracción vinculadas en la vista de tareas. No aparecen como solicitudes de extracción vinculadas en el problema.

1. En la solicitud de extracción, revise los cambios en el código. Para obtener más información, consulte [Revisión de una solicitud de extracción](pull-requests-review.md). Deje comentarios en la solicitud de extracción si desea que Amazon Q cambie algo en el código sugerido. A fin de que Amazon Q aporte el mejor resultado posible, sea específico al dejar comentarios. 

   Por ejemplo, imagine que, al revisar la solicitud de extracción creada para **Create another mysfit named Quokkapus**, observa que hay un error de escritura en la descripción. Puede dejar un comentario para Amazon Q que diga “Cambia la descripción para corregir el error ‘necesitaun’ y añade un espacio entre ‘necesita’ y ‘un’”. Si lo prefiere, puede dejar un comentario en el que le pida a Amazon Q que actualice la descripción y que proporcione toda la descripción revisada para incorporarla.

   Si ha subido imágenes del nuevo mysfit al sitio web, puede dejar un comentario para que Amazon Q actualice el mysfit con indicadores a una imagen y una miniatura para el nuevo mysfit.
**nota**  
Amazon Q no responderá a comentarios individuales. Amazon Q solo incorporará las ideas de los comentarios en las solicitudes de extracción si ha elegido la opción predeterminada (detenerse después de cada paso y esperar a la aprobación) en el momento de crear el problema.

1. (Opcional) Al terminar de dejar comentarios para los cambios en el código, seleccione **Crear revisión** para que Amazon Q cree una revisión de la solicitud de extracción en la que se hayan incorporado los cambios solicitados en los comentarios. Amazon Q informará del progreso en la creación de la revisión en **Descripción general**, no en **Cambios**. Actualice el navegador para ver las últimas actualizaciones de Amazon Q al crear la revisión.
**nota**  
Solo el usuario que creó el problema puede crear una revisión de la solicitud de extracción. Solo puede solicitar una revisión de una solicitud de extracción. Antes de seleccionar **Crear revisión**, asegúrese de haber incluido comentarios sobre toda la problemática y de estar satisfecho con el contenido de los comentarios.

1. En este proyecto de ejemplo, se ejecuta un flujo de trabajo para cada solicitud de extracción. Compruebe que haya un flujo de trabajo ejecutado correctamente antes de combinar la solicitud de extracción. También puede optar por crear flujos de trabajo y entornos adicionales para probar el código antes de combinarlo. Para obtener más información, consulte [Introducción a los flujos de trabajo](workflows-getting-started.md).

1. Cuando esté satisfecho con la última revisión de la solicitud de extracción, seleccione **Combinar**.

## Creación de un problema y recomendaciones de tareas para este por parte de Amazon Q
<a name="getting-started-project-assistance-issue-to-tasks"></a>

A veces, un problema puede implicar una cantidad de trabajo compleja o prolongada. CodeCatalyst incluye la integración con Amazon Q Developer Agent para el desarrollo de software. Puede pedirle a **Amazon Q** que analice un problema con base en el título y la descripción, y que recomiende un desglose lógico del trabajo en tareas separadas. Intentará crear una lista de tareas recomendadas que se podrán revisar y modificar; luego, podrá decidir si quiere crearlas. Esto resulta útil porque le permite asignar partes individuales a los usuarios, de modo que el trabajo sea más manejable y se pueda acelerar. 

**Creación y revisión de una lista de tareas recomendadas para un problema**

1. En el panel de navegación, seleccione **Problemas** y compruebe que se encuentra en la vista **Panel**.

1. Seleccione **Crear el problema**.

1. Póngale al problema un título que explique de forma sencilla lo que quiere hacer. Por ejemplo, para este problema, pondremos el título **Change the get\$1all\$1mysfits() API to return mysfits sorted by the Good/Evil attribute**. En **Descripción**, proporcione los siguientes datos:

   ```
   Update the API to allow sorting of mysfits by whether they are Good, Neutral, or Evil. Add a button on the website that allows users to quickly choose this sort and to exclude alignments that they don't want to see.
   ```

1. Revise la descripción y asegúrese de que contiene todos los detalles necesarios antes de continuar con el siguiente paso.

1. En **Cesionarios**, elija asignarse el problema a usted mismo.

1. Seleccione **Crear el problema**. La vista cambiará al panel Problemas.

1. Elija el problema que acaba de crear para abrirlo. Seleccione **Recomendar tareas**.

1. Seleccione el nombre del repositorio que contiene el código del problema. Seleccione **Empezar a recomendar tareas**.

El cuadro de diálogo se cerrará y Amazon Q empezará a analizar la complejidad del problema. Si el problema es complejo, sugerirá dividir el trabajo en tareas secuenciales independientes. Cuando la lista esté preparada, seleccione **Ver tareas recomendadas**. Puede añadir tareas adicionales, modificar las tareas recomendadas y reordenarlas. Si está de acuerdo con las recomendaciones, seleccione **Crear tareas** para crearlas. A continuación, puede asignar esas tareas a los usuarios, o a Amazon Q, para que trabajen en ellas.

## Eliminar recursos
<a name="getting-started-project-assistance-clean-up"></a>

Cuando haya completado este tutorial, valore la posibilidad de tomar las siguientes medidas para limpiar los recursos que creó durante este tutorial y que ya no necesita.
+ Anule la asignación de Amazon Q a cualquier problema en el que ya no esté trabajando. Si Amazon Q ha terminado de trabajar en un problema o no ha podido encontrar una solución, compruebe que haya anulado la asignación de Amazon Q a ese problema, a fin de no llegar a la cuota máxima de características de IA generativa. Para obtener más información, consulte [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html) y [Pricing](https://codecatalyst.aws/explore/pricing).
+ Mueva los problemas en los que se haya completado el trabajo a **Listo**.
+ Si el proyecto ya no es necesario, elimínelo.