> For the complete documentation index, see [llms.txt](https://docs.flosum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flosum.com/devops/devops-es/codigo/acciones-de-rama/uso-de-branch-validate.md).

# Uso de Branch Validate

Validate comprueba los metadatos de su rama frente a una organización de Salesforce sin implementar. Confirma la compatibilidad, garantiza que se cumplan las dependencias y ejecuta pruebas Apex si es necesario.

{% hint style="warning" %}

#### Escrito para la antigua interfaz de usuario

Este artículo fue escrito para la antigua interfaz de usuario. Las instrucciones todavía se pueden usar, pero las capturas de pantalla están desactualizadas. En algunos casos, los elementos mencionados en las instrucciones se han movido o cambiado. Si no puede encontrar un elemento, consulte el [¿Dónde quedó?](/devops/devops-es/transicion-a-la-nueva-ui-ux/donde-quedo.md) artículo.
{% endhint %}

## ![](https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FG5ZbxX918xOHwbAwAJ4n%2FSummary2-Small-Icon.svg?alt=media\&token=da26a67f-ff7f-47b3-8669-06be960dc2d7) Resumen <a href="#what-is-validate" id="what-is-validate"></a>

La función Validate comprueba los componentes de tu rama frente a una organización Salesforce de destino **sin implementar**. Esto garantiza la compatibilidad de los metadatos, verifica las dependencias y ejecuta pruebas Apex si es necesario. Al validar antes de la implementación, puedes identificar y corregir problemas, reduciendo los fallos de implementación. La validación previene fallos al:

* Comprobar la compatibilidad de metadatos con la organización de destino
* Asegurar que las dependencias estén satisfechas
* Ejecutar pruebas Apex (según el nivel de prueba seleccionado)

Este proceso te da confianza de que la implementación tendrá éxito. En este artículo, aprenderás cómo ejecutar un trabajo de Validación y ver los resultados.

{% hint style="info" %}

#### Buenas prácticas

* Ejecuta siempre Validate antes de implementar en UAT o Producción.
* Incluye los componentes dependientes para evitar errores de validación.
* Usa **Ejecutar pruebas locales** en entornos inferiores para comprobaciones de mayor calidad.
* Usa **No ejecutar pruebas** solo para validaciones rápidas en sandboxes.
* Revisa los registros con atención antes de continuar con la implementación.
* Vuelve a ejecutar Validate después de resolver conflictos, actualizar metadatos o recuperar dependencias faltantes.
  {% endhint %}

## Ejecutar trabajo de validación de la rama

{% stepper %}
{% step %}

### Seleccionar rama e iniciar validación

1. Haz clic en **Código** desde el menú de la barra lateral izquierda.
2. Selecciona una rama de la lista.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FMF5U2AgC0IVyRELJXWsv%2FUsingBranchValidate-Run-S01-01.png?alt=media&amp;token=9f7fd50e-f2b5-4053-ad43-1f58fd427c34" alt="" width="563"><figcaption></figcaption></figure></div>
3. Haz clic en la **Tres puntos verticales ⋮** menú desplegable junto a Desplegar.
4. Haz clic en **Validar**.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F9jej1YdpDM9j6srk602I%2FUsingBranchValidate-Run-S01-02.png?alt=media&amp;token=20471301-04fc-4b0b-938b-ae937eea405b" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Seleccionar componentes y conexiones

1. Haz clic en **Agregar** para incluir en la validación cada componente de la rama.
2. (Opcional) Haz clic en **Agregar todo** para agregar todos los componentes a la validación.
3. Haz clic en **Siguiente**.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FwOzj9OAMyIqbaRJjaIbx%2FUsingBranchValidate-Run-S02-01.png?alt=media&amp;token=3b2a29c0-8e62-4943-adbe-6ccc82ee5592" alt="" width="563"><figcaption></figcaption></figure></div>
4. Haz clic en **Seleccionar** para la conexión de la organización Salesforce que se usará como organización de destino para la validación.
5. Haz clic en **Siguiente**.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FM5hBgK6zJvsUlgSQnqmM%2FUsingBranchValidate-Run-S02-02.png?alt=media&amp;token=36f0a878-363f-415e-82b0-85fb76bcdfa9" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Seleccionar cambios destructivos

{% hint style="info" %}
De forma predeterminada, se agregan todos los cambios destructivos previos y posteriores.
{% endhint %}

1. (Opcional) Para quitar un cambio destructivo de la validación, haz clic en **Agregado**.
2. Haz clic en **Siguiente**.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FVTbXVP1YBS0c9LJ8pdq0%2FUsingBranchValidate-Run-S03-01.png?alt=media&amp;token=14cbc49b-bafe-4d09-906f-339a90a86ab8" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Configurar y ejecutar validación

1. Haz clic en la **Ejecutar pruebas** menú desplegable para elegir el nivel de pruebas Apex que se realizará. Consulta la tabla siguiente para ver una descripción de cada opción.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F7vNJLaSjbWM3DnqUV1BM%2FUsingBranchValidate-Run-S04-01.png?alt=media&amp;token=bdbbd178-ad81-4c07-8852-d4b2502e67cf" alt="" width="563"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="180.333251953125">Nivel de prueba</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Predeterminado</strong></td><td>Ejecuta solo las pruebas incluidas en el paquete.</td></tr><tr><td><strong>No ejecutar pruebas</strong></td><td>Omite todas las pruebas de Apex (solo permitido en organizaciones que no son de producción).</td></tr><tr><td><strong>Ejecutar pruebas locales</strong></td><td>Ejecuta todas las pruebas de la organización excepto las de los paquetes administrados instalados.</td></tr><tr><td><strong>Ejecutar todas las pruebas</strong></td><td>Ejecuta todas las pruebas de la organización, incluidas las pruebas de paquetes administrados.</td></tr><tr><td><strong>Ejecutar pruebas relevantes</strong></td><td>Ejecuta solo las pruebas relevantes para los componentes seleccionados y sus dependencias. Esta opción usa la función RunRelevantTests de Salesforce para determinar automáticamente qué pruebas ejecutar. Para obtener más detalles, consulte <a href="https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_run_relevant_tests.htm&#x26;release=260&#x26;type=5">Ayuda de Salesforce</a>.</td></tr><tr><td><strong>Ejecutar pruebas especificadas</strong></td><td>Le permite definir clases o métodos de prueba individuales para ejecutar.</td></tr></tbody></table>

2. Haz clic en los interruptores de configuración de implementación para activar los ajustes. Consulta la tabla siguiente para ver una explicación de cada ajuste.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FWELpcaRxByblsA4xU5sv%2FUsingBranchValidate-Run-S04-02.png?alt=media&amp;token=270d6f7f-6196-4ddb-915b-e99697f2203e" alt="" width="563"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="280.333251953125">Configuración</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>Implementar la configuración del perfil solo para los componentes seleccionados</strong></td><td>Solo validar <strong>Configuración del perfil</strong> para los componentes que eligió incluir en este trabajo de validación.</td></tr><tr><td><strong>Implementar la configuración del conjunto de permisos solo para los componentes seleccionados</strong></td><td>Solo validar <strong>Configuración del conjunto de permisos</strong> para los componentes que eligió incluir en este trabajo de validación.</td></tr></tbody></table>

3. Haz clic en **Ejecutar** para iniciar el trabajo de validación.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FhNODemQFTXTfjNO7ZtlL%2FUsingBranchValidate-Run-S04-03.png?alt=media&amp;token=70c26313-2d7e-4c25-ab0e-e14d1d37988b" alt="" width="563"><figcaption></figcaption></figure></div>
4. Después de iniciar el trabajo de validación, se mostrará en la **Actividades** pestaña.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FJhBpFgtfYNxvAoIUKmQv%2FUsingBranchValidate-Run-S04-04.png?alt=media&amp;token=89903300-4024-41fc-b150-8fd7069477cd" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}
{% endstepper %}

## Resultados de la validación <a href="#how-to-check-validation-status" id="how-to-check-validation-status"></a>

{% stepper %}
{% step %}

### Ver resultados

1. Haz clic en la **Actividades** pestaña.
2. Comprueba que el **Validación** estado del trabajo es **Completado**.

{% hint style="info" %}
Si se produce un error durante el trabajo de validación, su estado cambiará a **Excepción**. Revisa el registro del trabajo de validación para identificar los errores.
{% endhint %}

<table><thead><tr><th width="159.6666259765625">Estado del trabajo</th><th>Descripción</th></tr></thead><tbody><tr><td><strong>En cola</strong></td><td>El trabajo se ha creado y espera para ejecutarse.</td></tr><tr><td><strong>En progreso</strong></td><td>El trabajo se está ejecutando.</td></tr><tr><td><strong>Completado</strong></td><td>El trabajo se completó correctamente.</td></tr><tr><td><strong>Excepción</strong></td><td>El trabajo se completó con errores.</td></tr></tbody></table>

3. Haz clic en la **Validación** trabajo.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FIQKZ9cXeOX0VWlWEaQbo%2FUsingBranchValidate-View-S01-01.png?alt=media&amp;token=f2cdae89-d121-4a69-92d8-99293ef6f6d1" alt="" width="563"><figcaption></figcaption></figure></div>
4. La **Validar** la página de resultados enumera información sobre el trabajo y un registro detallado del mismo.

   <div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FIe0U497ovIZblH7YmIjN%2FUsingBranchValidate-View-S01-02.png?alt=media&amp;token=7fb837f7-1f7c-437e-813b-8c92b2b9661b" alt="" width="563"><figcaption></figcaption></figure></div>

{% endstep %}

{% step %}

### Revisar registro (sin errores)

En el registro del trabajo de validación, los detalles incluyen:

* Presencia de objetos de Cambios destructivos.
* Cantidad y lista de componentes validados.
* Tipo y resultados de la ejecución de pruebas Apex.
* Pasos de validación completados.

<div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2F7jZ2Zo6GTswLdv6qF1GO%2FUsingBranchValidate-View-S02-01.png?alt=media&amp;token=43785a97-4118-4be9-afb4-25f7f177ec58" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Revisar registro (con errores)

Cuando se produzca un error en un trabajo de validación, examina el registro para encontrar la causa. Concéntrate en las entradas marcadas con **\[error]**. Las capturas de pantalla a continuación muestran una ejecución de un trabajo de validación en la que una organización Salesforce carece de varios componentes que están incluidos en la rama.

<div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FkZFC3qKPu3soCbwRjJHg%2FUsingBranchValidate-View-S03-01.png?alt=media&amp;token=6b2e39e5-48a1-4f7b-bf55-51edd2a311e5" alt="" width="563"><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://2574462044-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRpUu5iMlzMFAudyBvMOl%2Fuploads%2FukmpgbJMZ8P4v97u4OHA%2FUsingBranchValidate-View-S03-02.png?alt=media&amp;token=4553a42c-7a93-4447-9b17-b67eb9da71e6" alt="" width="563"><figcaption></figcaption></figure></div>

A continuación se muestra el archivo de registro completo:

{% code expandable="true" %}

```
[1 ene. 2026 3:14 PM]: [info] Trabajo iniciado
[1 ene. 2026 3:14 PM]: [info] Inicio de la creación del proyecto Salesforce
[1 ene. 2026 3:14 PM]: [info] Creación del proyecto Salesforce completada
[1 ene. 2026 3:14 PM]: [info] Inicio de la recuperación de componentes Salesforce
[1 ene. 2026 3:14 PM]: [info] Recuperación de componentes Salesforce completada
[1 ene. 2026 3:14 PM]: [info] Inicio de la preparación de manifiestos
[1 ene. 2026 3:14 PM]: [info] Preparación de manifiestos completada
[1 ene. 2026 3:14 PM]: [info] Inicio de la validación de metadatos de Salesforce
[1 ene. 2026 3:14 PM]: [error] Validación fallida
[1 ene. 2026 3:14 PM]: [info] Número de componentes validados: 2
[1 ene. 2026 3:14 PM]: [info] ValidateJobId: 0Afg5000001uyNVCAY
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: SuccessGoal__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: LightningCommunityUtils
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: objective.Owner
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [info] Componentes validados: Example_Test_Object_1__c, CustomObject; Example_Test_Object_2__c, CustomObject
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: objectives
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: Account__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: LightningCommunityUtils
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: La variable no existe: LightningCommunityUtils
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanController: Tipo inválido: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: GuidUtil
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: DML requiere un tipo SObject o lista de SObject: PortalSession__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: EncryptHelper
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: portalSession
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: EncryptHelper
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: portalSession
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: DML requiere un tipo SObject o lista de SObject: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: DML requiere un tipo SObject o lista de SObject: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: EncryptHelper
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: portalSession
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: DML requiere un tipo SObject o lista de SObject: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: objective
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: EncryptHelper
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: La variable no existe: portalSession
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: Objective__c
[1 ene. 2026 3:14 PM]: [error] ApexClass SuccessPlanControllerTest: DML requiere un tipo SObject o lista de SObject: Objective__c
[1 ene. 2026 3:14 PM]: [info] Nivel de prueba de validación: Predeterminado
[1 ene. 2026 3:14 PM]: [error] Trabajo fallido: la validación de metadatos de Salesforce falló
```

{% endcode %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flosum.com/devops/devops-es/codigo/acciones-de-rama/uso-de-branch-validate.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
