# Globals

## **Visão geral**

Globals são variáveis armazenadas na Plataforma que podem ser reutilizadas em vários [pipelines](https://docs.digibee.com/documentation/developer-guide/pt-br/development-cycle/build-overview/pipelines) e [cápsulas](https://docs.digibee.com/documentation/developer-guide/pt-br/development-cycle/build-overview/capsulas). Após criar uma global, você pode referenciá-la em qualquer campo de texto dentro dos formulários de configuração de conectores.

Esse recurso ajuda a acelerar o desenvolvimento: ao atualizar o valor de uma global em um único lugar, a alteração é aplicada em todos os pontos onde a variável é usada.

{% hint style="info" %}
Globals são atualizadas automaticamente apenas em pipelines que ainda não foram implantados. Se um pipeline que usa a global atualizada já estiver implantado, um aviso aparecerá no card da página [**Run**](https://docs.digibee.com/documentation/developer-guide/pt-br/development-cycle/overview) para lembrar você de reimplantá-lo.
{% endhint %}

## **Gerenciando globals**

<figure><img src="https://content.gitbook.com/content/cO0A6g1dOsu8BiHYqO67/blobs/yvUBx6ior5Mvq1rjEspz/p%C3%A1gina-globals.png" alt="Página Globals onde você pode criar, visualizar, editar e deletar variáveis globais."><figcaption><p>Página de configuração para adicionar uma nova global na Plataforma.</p></figcaption></figure>

### **Criando uma global**

1. Na página de **Build**, clique na aba **Globals**.
   1. Alternativamente, clique em **Configurações** no canto superior direito na página inicial da Plataforma e, na página seguinte, selecione **Globals**.
2. Clique em **Criar** e preencha os campos:

* **Nome da global**: Nome da variável a ser referenciada em pipelines ou cápsulas. Use apenas letras minúsculas, até 60 caracteres, com letras, números, `-` (hífen) ou `.` (ponto). Acentos não são permitidos.
* **Categoria**: Define como o valor será validado:
  * **URL**: Deve ser uma URL válida.
  * **JDBC**: Deve ser uma string de conexão válida.
  * **Email**: Deve ser um endereço de e-mail válido.
  * **ID**: Deve conter apenas números.
  * **Other**: Aceita qualquer valor. Use esta opção para listas, mas evite informações sensíveis (não há criptografia disponível).

2. **Descrição**: Uma breve explicação sobre a finalidade da global.
3. **Disponibilidade do Projeto**: Define se a conta pode ser usada em todos os projetos ou apenas em projetos selecionados. Na página de listagem de globals, você verá apenas as globals disponíveis para todos os projetos ou aquelas às quais você tem permissão de acesso.

{% hint style="danger" %}

#### **Globals podem ser removidas permanentemente dos pipelines**

Pipelines só podem usar Globals que estejam disponíveis no projeto. Uma Global é **removida do pipeline** nas seguintes situações:

* Quando um pipeline é movido para outro projeto e a Global não está permitida no projeto de destino.
* Quando a configuração **Disponibilidade do Projeto** de uma Global é atualizada e o projeto que contém o pipeline é removido da lista de permitidos.

Depois que uma Global é removida em qualquer uma dessas situações, mover o pipeline de volta ou permitir o projeto novamente **não restaura a Global**, por motivos de segurança. Nesses casos, é necessário adicionar cada Global manualmente ao pipeline novamente.
{% endhint %}

4. **Ambiente Prod/ Test / Outros**: Informe o valor para cada ambiente (até 10.000 caracteres por campo).
5. Clique em **Salvar**.
6. Uma janela de confirmação aparecerá. Digite **“Quero criar a global”** no campo **Mensagem de confirmação** e clique em **Criar**.

{% hint style="danger" %}
Globals são visíveis para todos os usuários com acesso e não são criptografados no banco de dados. Não adicione dados sensíveis. Use [**Contas**](https://docs.digibee.com/documentation/developer-guide/pt-br/platform-administration/settings/accounts) se for necessário criptografar.
{% endhint %}

### **Editando uma global**

Para editar uma conta, vá até a página **Globals** e clique no ícone de lápis no menu **Ações**.

Você pode:

* Atualizar a categoria.
* Atualizar a descrição.
* Marcar a global como **descontinuada**. [Saiba mais sobre a descontinuação de uma global.](#descontinuando-uma-global)
* Definir novas regras para **Disponibilidade do Projeto**.
* Editar os valores dos ambientes.
* Visualizar todos os pipelines que usam a global.

{% hint style="info" %}
Lembre-se de que, se a global for editada, pipelines já implantados precisam ser reimplantados para aplicar as mudanças.
{% endhint %}

Após editar a global, uma janela de confirmação aparece. Digite **“Quero editar a global”** no campo **Mensagem de confirmação** e clique em **Editar**.

Todas as alterações são aplicadas imediatamente a pipelines que usam a global e ainda não foram implantados.

### **Descontinuando uma global** <a href="#descontinuando-uma-global" id="descontinuando-uma-global"></a>

Descontinuar uma global a torna indisponível para novos pipelines ou novas versões de pipelines. Implantações existentes continuarão funcionando, a menos que sejam reimplantadas.

Para descontinuar uma global:

1. Abra a página **Globals** e clique no ícone de lápis ao lado da conta.
2. Ative a opção **Descontinuada**.
3. Clique em **Salvar**.

{% hint style="danger" %}
Essa ação é irreversível.
{% endhint %}

### **Excluindo uma global**

Excluir uma global a remove permanentemente da Plataforma. Não é possível excluir globals que estejam em uso em pipelines, implantados ou não. Para prosseguir, remova ou substitua a global em todos os pipelines antes de excluí-la.

Para excluir uma conta:

1. Abra a página **Globals**.
2. Clique no ícone de lixeira ao lado da conta.
3. Clique em **Delete** na janela de confirmação.

### **Usando globals**

Globals podem ser referenciadas em qualquer campo de texto dentro do formulário de configuração de um conector.

Para usar uma global:

1. Abra o pipeline ou cápsula.
2. Selecione o conector que deseja configurar.
3. No campo desejado, inicie uma expressão com `{{`. Na lista de [preenchimento automático](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/double-braces/double-braces-autocomplete), escolha **`global`** e digite um ponto (`.`) para exibir as variáveis disponíveis.

Você também pode inserir a referência manualmente:

```
{{global.GlobalName}}
```

Substitua `GlobalName` pelo nome que você atribuiu ao criar a global. Por exemplo:&#x20;

```
{{global.db-timeout}}
```

#### **Exemplo**

O parâmetro **Database URL** no conector [**DB V2**](https://app.gitbook.com/s/SKBJ6ZiEWBU93x170HH4/connectors/structured-data/db-v2) oferece suporte a globals. Ao começar a digitar a expressão, o recurso de autocompletar exibe as variáveis disponíveis, permitindo que você selecione e utilize aquela que configurou.

<figure><img src="https://2518718503-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcO0A6g1dOsu8BiHYqO67%2Fuploads%2Fm55PF9m7jXCEVEamCZV4%2Fusar-global.gif?alt=media&#x26;token=5337e9b2-2815-47af-9e9a-47cfd14e162b" alt=""><figcaption></figcaption></figure>
