> 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-pt-br/codigo/acoes-da-branch/usando-a-validacao-da-branch.md).

# Usando a validação da branch

A Validação verifica os metadados da sua branch em relação a uma org Salesforce sem implantar. Ela confirma a compatibilidade, garante que as dependências sejam atendidas e executa testes Apex, se necessário.

{% hint style="warning" %}

#### Escrito para a interface antiga

Este artigo foi escrito para a interface antiga. As instruções ainda podem ser usadas, mas as capturas de tela estão desatualizadas. Em alguns casos, os itens referenciados nas instruções foram movidos ou alterados. Se você não conseguir encontrar um item, consulte o [Para onde foi](/devops/devops-pt-br/transicao-para-a-nova-ui-ux/para-onde-foi.md) artigo.
{% endhint %}

## ![](https://2465342021-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) Visão geral <a href="#what-is-validate" id="what-is-validate"></a>

O recurso Validate verifica os componentes da sua branch em relação a uma org Salesforce de destino **sem implantar**. Isso garante a compatibilidade dos metadados, verifica as dependências e executa testes Apex, se necessário. Ao validar antes da implantação, você pode identificar e corrigir problemas, reduzindo falhas na implantação. A validação evita falhas ao:

* Verificar a compatibilidade dos metadados com a org de destino
* Garantir que as dependências estejam atendidas
* Executar testes Apex (com base no nível de teste selecionado)

Esse processo dá a você a confiança de que a implantação será bem-sucedida. Neste artigo, você aprenderá como executar um job de validação e visualizar os resultados.

{% hint style="info" %}

#### Melhores práticas

* Sempre execute Validate antes de implantar em UAT ou Produção.
* Inclua os componentes dependentes para evitar erros de validação.
* Use **Executar Testes Locais** em ambientes inferiores para verificações de maior qualidade.
* Use **Não executar testes** apenas para validações rápidas em sandboxes.
* Revise os logs com atenção antes de prosseguir com a implantação.
* Execute Validate novamente após resolver conflitos, atualizar metadados ou recuperar dependências ausentes.
  {% endhint %}

## Executar job de validação da branch

{% stepper %}
{% step %}

### Selecione a branch e inicie a validação

1. Clique em **Código** no menu da barra lateral esquerda.
2. Selecione uma branch na lista.

   <div align="left"><figure><img src="https://2465342021-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. Clique no **Três pontos verticais ⋮** menu suspenso ao lado de Implantar.
4. Clique em **Validar**.

   <div align="left"><figure><img src="https://2465342021-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 %}

### Selecione Componentes e Conexões

1. Clique em **Adicionar** para cada componente da branch a ser incluído na validação.
2. (Opcional) Clique em **Adicionar tudo** para adicionar todos os componentes à validação.
3. Clique em **Próximo**.

   <div align="left"><figure><img src="https://2465342021-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. Clique em **Selecione** para a conexão da org Salesforce a ser usada como org de destino para a validação.
5. Clique em **Próximo**.

   <div align="left"><figure><img src="https://2465342021-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 %}

### Selecionar Alterações Destrutivas

{% hint style="info" %}
Por padrão, todas as alterações destrutivas pré e pós são adicionadas.
{% endhint %}

1. (Opcional) Para remover uma alteração destrutiva da validação, clique em **Adicionado**.
2. Clique em **Próximo**.

   <div align="left"><figure><img src="https://2465342021-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 e Executar Validação

1. Clique no **Executar testes** menu suspenso para escolher o nível de teste Apex a ser executado. Consulte a tabela abaixo para obter uma descrição de cada um.

   <div align="left"><figure><img src="https://2465342021-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">Nível de teste</th><th>Descrição</th></tr></thead><tbody><tr><td><strong>Padrão</strong></td><td>Executa apenas os testes incluídos no pacote.</td></tr><tr><td><strong>Não executar testes</strong></td><td>Ignora todos os testes Apex (permitido apenas em orgs não de produção).</td></tr><tr><td><strong>Executar testes locais</strong></td><td>Executa todos os testes na org, exceto os de pacotes gerenciados instalados.</td></tr><tr><td><strong>Executar todos os testes</strong></td><td>Executa todos os testes na org, incluindo os testes de pacotes gerenciados.</td></tr><tr><td><strong>Executar testes relevantes</strong></td><td>Executa apenas os testes relevantes para os componentes selecionados e suas dependências. Esta opção usa o recurso RunRelevantTests da Salesforce para determinar automaticamente quais testes executar. Para mais detalhes, consulte <a href="https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_run_relevant_tests.htm&#x26;release=260&#x26;type=5">Ajuda da Salesforce</a>.</td></tr><tr><td><strong>Executar testes especificados</strong></td><td>Permite definir classes ou métodos de teste individuais para executar.</td></tr></tbody></table>

2. Clique nos botões de alternância das configurações de implantação para ativar as configurações. Consulte a tabela a seguir para ver uma explicação de cada configuração.

   <div align="left"><figure><img src="https://2465342021-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">Configuração</th><th>Descrição</th></tr></thead><tbody><tr><td><strong>Implantar as configurações do perfil apenas para os componentes selecionados</strong></td><td>Validar somente <strong>Configurações de perfil</strong> para os componentes que você escolheu incluir neste trabalho de validação.</td></tr><tr><td><strong>Implantar as configurações do conjunto de permissões apenas para os componentes selecionados</strong></td><td>Validar somente <strong>Configurações do conjunto de permissões</strong> para os componentes que você escolheu incluir neste trabalho de validação.</td></tr></tbody></table>

3. Clique em **Executar** para iniciar o job de validação.

   <div align="left"><figure><img src="https://2465342021-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. Depois de iniciar o job de validação, ele será exibido na **Atividades** .

   <div align="left"><figure><img src="https://2465342021-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 da Validação <a href="#how-to-check-validation-status" id="how-to-check-validation-status"></a>

{% stepper %}
{% step %}

### Ver resultados

1. Clique no **Atividades** .
2. Verifique se o job **Validação** está **Concluído**.

{% hint style="info" %}
Se ocorrer um erro durante o job de validação, o status dele mudará para **Exceção**. Revise o log do job de validação para identificar os erros.
{% endhint %}

<table><thead><tr><th width="159.6666259765625">Status do trabalho</th><th>Descrição</th></tr></thead><tbody><tr><td><strong>Na fila</strong></td><td>O trabalho foi criado e está aguardando para ser executado.</td></tr><tr><td><strong>Em andamento</strong></td><td>O trabalho está em execução.</td></tr><tr><td><strong>Concluído</strong></td><td>O trabalho foi concluído com sucesso.</td></tr><tr><td><strong>Exceção</strong></td><td>O trabalho foi concluído com erros.</td></tr></tbody></table>

3. Clique no **Validação** .

   <div align="left"><figure><img src="https://2465342021-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. O **Validar** a página de resultados lista informações sobre o job e um log detalhado do job.

   <div align="left"><figure><img src="https://2465342021-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 Log (Sem Erros)

No log do job de validação, os detalhes incluem:

* Presença de objetos de Alterações Destrutivas.
* Contagem e lista de componentes validados.
* Tipo e resultados da execução dos testes Apex.
* Etapas de validação concluídas.

<div align="left"><figure><img src="https://2465342021-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 Log (Com Erros)

Quando ocorrer um erro no job de validação, examine o log para encontrar a causa. Foque nas entradas marcadas com **\[error]**. As capturas de tela abaixo mostram uma execução de job de validação na qual uma org Salesforce não tem vários componentes que estão incluídos na branch.

<div align="left"><figure><img src="https://2465342021-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://2465342021-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>

O arquivo de log completo é mostrado abaixo:

{% code expandable="true" %}

```
[1 de jan. de 2026 15:14]: [info] Job iniciado
[1 de jan. de 2026 15:14]: [info] Criação do projeto Salesforce iniciada
[1 de jan. de 2026 15:14]: [info] Criação do projeto Salesforce concluída
[1 de jan. de 2026 15:14]: [info] Recuperação dos componentes do Salesforce iniciada
[1 de jan. de 2026 15:14]: [info] Recuperação dos componentes do Salesforce concluída
[1 de jan. de 2026 15:14]: [info] Preparação dos manifestos iniciada
[1 de jan. de 2026 15:14]: [info] Preparação dos manifestos concluída
[1 de jan. de 2026 15:14]: [info] Validação de metadados do Salesforce iniciada
[1 de jan. de 2026 15:14]: [error] Validação falhou
[1 de jan. de 2026 15:14]: [info] Número de componentes validados: 2
[1 de jan. de 2026 15:14]: [info] ValidateJobId: 0Afg5000001uyNVCAY
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: SuccessGoal__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: objective
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: LightningCommunityUtils
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: objective
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: objective.Owner
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: objective
[1 de jan. de 2026 15:14]: [info] Componentes validados: Example_Test_Object_1__c, CustomObject; Example_Test_Object_2__c, CustomObject
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: objectives
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: Account__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: LightningCommunityUtils
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.SuccessGoal__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: A variável não existe: LightningCommunityUtils
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Schema.Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanController: Tipo inválido: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: GuidUtil
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: DML requer tipo SObject ou lista de SObject: PortalSession__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: EncryptHelper
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: portalSession
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: EncryptHelper
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: portalSession
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: DML requer tipo SObject ou lista de SObject: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: objective
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: objective
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: DML requer tipo SObject ou lista de SObject: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: objective
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: EncryptHelper
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: portalSession
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: DML requer tipo SObject ou lista de SObject: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: objective
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: PortalSession__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: EncryptHelper
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: A variável não existe: portalSession
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: Tipo inválido: Objective__c
[1 de jan. de 2026 15:14]: [error] ApexClass SuccessPlanControllerTest: DML requer tipo SObject ou lista de SObject: Objective__c
[1 de jan. de 2026 15:14]: [info] Nível de teste da validação: Padrão
[1 de jan. de 2026 15:14]: [error] Job falhou: a validação de metadados do Salesforce falhou
```

{% 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-pt-br/codigo/acoes-da-branch/usando-a-validacao-da-branch.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.
