> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/pt/automatizacao/runbooks/runbook-report-settings.md).

# Definições do relatório de runbook

Configurar definições centralizadas de entrega por e-mail e armazenamento para runbooks de relatório.

## Visão geral

Vários runbooks do RealmJoin incluem capacidades automatizadas de geração de relatórios para entregar relatórios, notificações e alertas diretamente aos administradores. Dependendo da configuração, os relatórios podem ser:

* **enviados por e-mail** — usando a API do Microsoft Graph em nome de um endereço de remetente configurado
* **carregados para uma Azure Storage Account** — e disponibilizados como um link de download SAS com prazo limitado

O suporte a ambos os canais de entrega é o padrão pretendido para todos os runbooks de relatórios daqui em diante. Ainda nem todos os runbooks de relatórios podem suportar ambos os canais, mas o conjunto de runbooks suportados está em constante crescimento. Ambos os canais podem ser ativados independentemente ou em combinação.

Todas as configurações partilhadas são definidas uma vez na [RealmJoin Runbook Customization](https://portal.realmjoin.com/settings/runbooks-customizations) e aplicam-se automaticamente a todos os runbooks que usam a respetiva funcionalidade. As definições que diferem por runbook (como o nome do contentor de destino) não fazem parte desta configuração central e são definidas diretamente no respetivo runbook.

As funções que consomem essas definições — [`Send-RjRbReportEmail`](/pt/dev-reference/report-functions/send-rjrbreportemail.md) e [`Publish-RjRbFilesToStorageContainer`](/pt/dev-reference/report-functions/publish-rjrbfilestostoragecontainer.md) — são fornecidas pelo **RealmJoin.RunbookHelper** módulo PowerShell. Consulte [Funções de relatório](/pt/dev-reference/report-functions.md) para documentação detalhada de utilização.

## Entrega por e-mail

### Pré-requisitos

Recomendamos usar uma caixa de correio partilhada dedicada, como `realmjoin-report@contoso.com`. Esta caixa de correio será usada como endereço de remetente para todos os relatórios. Pode usar um endereço de não resposta, uma vez que não se espera que os destinatários respondam a relatórios automatizados.

> **Observação:** O endereço do remetente tem de ser uma caixa de correio de utilizador ou partilhada — um grupo do Microsoft 365 não pode enviar e-mails através da Graph API. Endereços de grupo como destinatários de relatórios **destinatários** funcionam tecnicamente, mas não são recomendados: se os membros realmente recebem o e-mail depende das definições de seguir/subscrição do grupo, e as falhas de entrega só são visíveis como relatórios de não entrega na caixa de correio do remetente.

### Configuração

Conforme descrito em detalhe na [Personalização baseada em JSON](https://docs.realmjoin.com/automation/runbooks/runbook-customization#json-based-customizing) documentação, navegue até [RealmJoin Runbook Customization](https://portal.realmjoin.com/settings/runbooks-customizations) no RealmJoin Portal (Configurações > Personalizações de Runbook).

No `bloco de definições` , adicione ou modifique a `RJReport` secção para incluir a `EmailSender` propriedade com o endereço de e-mail do remetente pretendido:

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "realmjoin-report@contoso.com"
        }
    }
}
```

Substitua `realmjoin-report@contoso.com` pelo endereço real da sua caixa de correio partilhada.

### Informações de contacto do Service Desk (opcional)

Esta configuração central fornece apenas os valores unificados do Service Desk para todos os runbooks. Se as informações de contacto são efetivamente incluídas num e-mail de notificação é determinado pelo próprio runbook em questão — apenas os runbooks que implementam os parâmetros correspondentes do Service Desk (por exemplo, `ServiceDeskDisplayName`, `ServiceDeskPortalUrl`) leem estes valores e apresentam-nos nos seus e-mails.

Para fornecer as informações de contacto do Service Desk para estes runbooks, adicione as seguintes propriedades à `RJReport` secção:

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "realmjoin-report@contoso.com",
            "ServiceDesk_DisplayName": "Service Desk de TI",
            "ServiceDesk_EMail": "servicedesk@domain.com",
            "ServiceDesk_Phone": "+49123456789",
            "ServiceDesk_PortalUrl": "https://servicedesk.domain.com"
        }
    }
}
```

**Parâmetros:**

* `ServiceDesk_DisplayName` — Nome de apresentação do seu Service Desk (por exemplo, "IT Support", "Help Desk")
* `ServiceDesk_EMail` — Endereço de e-mail do Service Desk (apresentado como um `mailto:` link clicável)
* `ServiceDesk_Phone` — Número de telefone do Service Desk em formato internacional (apresentado como um `tel:` link clicável)
* `ServiceDesk_PortalUrl` — URL do portal ou website do seu Service Desk (apresentada como um link clicável)

Todos os parâmetros são opcionais. Se configurados, aparecerão no rodapé do e-mail como links clicáveis.

> **Observação:** Alguns runbooks também aceitam um link de ticket por execução (por exemplo, `ServiceDeskTicketUrl`) para referenciar o ticket específico que desencadeou o pedido. Este é um parâmetro do runbook, não faz parte desta configuração central.

### Branding de e-mail (opcional)

Os e-mails de relatório podem ter branding específico do Tenant: as imagens padrão de cabeçalho e rodapé do RealmJoin podem ser substituídas pelas suas próprias imagens, a imagem do rodapé pode apontar para um destino personalizado — por exemplo, a sua intranet ou portal de TI — e as cores do modelo podem ser ajustadas ao design corporativo.

Para configurar o branding, adicione uma `Branding` subsecção ao `RJReport` bloco (aninhado como `StorageAccount`):

```json
{
    "Settings": {
        "RJReport": {
            "Branding": {
                "HeaderImageUrl": "https://cdn.contoso.com/branding/email-header.png",
                "FooterImageUrl": "https://cdn.contoso.com/branding/email-footer.png",
                "FooterLink": "https://intranet.contoso.com",
                "AccentColor": "#0052cc",
                "TextColor": "#1a1a2e"
            }
        }
    }
}
```

**Parâmetros:**

| Definição        | Obrigatório | Padrão                                | Descrição                                                                                                                         |
| ---------------- | ----------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `HeaderImageUrl` | não         | gráfico de cabeçalho do RealmJoin     | URL HTTPS pública de uma imagem de cabeçalho personalizada que substitui o gráfico de cabeçalho padrão do RealmJoin               |
| `FooterImageUrl` | não         | gráfico de rodapé do RealmJoin        | URL HTTPS pública de uma imagem de rodapé personalizada que substitui o gráfico de rodapé padrão do RealmJoin                     |
| `FooterLink`     | não         | `https://www.realmjoin.com`           | URL para a qual a imagem do rodapé aponta                                                                                         |
| `AccentColor`    | não         | `#f8842c` (laranja do RealmJoin)      | Cor de destaque do modelo de e-mail: linhas de cabeçalho das tabelas, botões de ação, bordas de destaque das caixas de informação |
| `TextColor`      | não         | `#011e33` (azul-marinho do RealmJoin) | Cor principal do texto do modelo de e-mail: texto do corpo, títulos, itens de lista, código                                       |

**Requisitos de imagem:**

* A imagem tem de estar acessível através de um **URL HTTPS pública** — por exemplo, um contentor Azure Blob Storage com acesso de leitura anónimo, uma CDN ou o website da empresa. Também funciona um URL contendo um SAS Token e mantém o contentor privado.
* Formatos suportados: **PNG, JPEG ou GIF**. O formato é detetado pela assinatura do ficheiro, não pela extensão do ficheiro.
* As imagens são renderizadas a **750 px de largura**. As dimensões recomendadas são **750×200 px** (correspondendo aos banners predefinidos) ou **1500×400 px** para ecrãs de alta DPI.
* Máximo **200 KB** por imagem; **100 KB ou menos** é recomendado. As imagens de branding partilham o limite total de tamanho do e-mail de \~4 MB com os anexos do relatório (para comparação, os gráficos predefinidos do RealmJoin têm 52 KB e 15 KB).

**Requisitos de cor:**

* Os valores têm de ser cores hexadecimais de 6 dígitos, incluindo o `#` — por exemplo `#0052cc`. As formas abreviadas (`#05c`) e nomes de cores (`vermelho`) não são suportados.
* Tanto os e-mails como os seus anexos são lidos em modo claro **e** modo escuro: escolha uma cor de texto que permaneça legível num cartão de conteúdo branco e uma cor de destaque com contraste suficiente em relação ao texto branco dos botões.
* As cores de estado (verde/vermelho/âmbar para os estados de sucesso, erro e aviso) e os cinzentos neutros não são deliberadamente configuráveis — têm um significado que não deve mudar por Tenant.

As imagens são transferidas e validadas pelo runbook em cada execução. Se uma definição for deixada em branco, são usados o gráfico, a cor e o link do rodapé predefinidos do RealmJoin. Se uma transferência falhar, uma imagem for inválida ou uma cor não for um valor hex válido, é registado um aviso e é usado o predefinido correspondente — uma configuração de branding danificada nunca impede que um e-mail de relatório seja enviado.

Todas as definições são opcionais e produzem efeito para todos os runbooks que enviam e-mails de relatório.

> **Observação:** As definições de cor requerem **RealmJoin.RunbookHelper 0.8.9** ou posterior na Automation Account. Com versões mais antigas do módulo, as definições de imagem continuam a aplicar-se e as cores são ignoradas.

## Entrega para Storage Account

Os runbooks de relatórios que suportam este canal de entrega podem carregar o seu resultado para um contentor Azure Blob Storage. Após um carregamento bem-sucedido, o runbook devolve um link SAS com prazo limitado que pode ser usado para descarregar o ficheiro diretamente. Este canal pode ser usado independentemente ou em complemento da entrega por e-mail.

### Pré-requisitos

É necessária uma Azure Storage Account existente. A identidade gerida da Automation Account (ou o principal de serviço usado pelos runbooks) necessita, no mínimo, de **Storage Blob Data Contributor** permissões na Storage Account ou no respetivo grupo de recursos.

### Configuração

Navegue até [RealmJoin Runbook Customization](https://portal.realmjoin.com/settings/runbooks-customizations) e adicione um `StorageAccount` subsecção ao `RJReport` bloco:

```json
{
    "Settings": {
        "RJReport": {
            "StorageAccount": {
                "ResourceGroup": "rg-reports",
                "StorageAccountName": "stcontosoreports",
                "LinkExpiryDays": 6
            }
        }
    }
}
```

**Parâmetros:**

| Definição            | Obrigatório | Padrão | Descrição                                                |
| -------------------- | ----------- | ------ | -------------------------------------------------------- |
| `ResourceGroup`      | sim         | —      | Grupo de recursos que contém a Storage Account           |
| `StorageAccountName` | sim         | —      | Nome da Storage Account do Azure                         |
| `LinkExpiryDays`     | não         | `6`    | Número de dias até o link de download SAS gerado expirar |

> **Observação:** As definições específicas de um runbook individual — como o nome do contentor de destino ou um nome de blob personalizado — são configuradas diretamente nesse runbook e, intencionalmente, não fazem parte desta configuração central. O mesmo se aplica à adição de prefixo ao nome do blob: se um prefixo de data e hora (`yyyyMMdd-HHmmss`) é adicionado ao nome do blob para evitar sobrescritas é controlado pelo `AddBlobNamePrefix` parâmetro de [`Publish-RjRbFilesToStorageContainer`](/pt/dev-reference/report-functions/publish-rjrbfilestostoragecontainer.md) (predefinição `$false`), que cada runbook passa explicitamente.

## Exemplo combinado

O seguinte excerto mostra uma configuração `RJReport` completa com todas as funcionalidades ativadas:

```json
{
    "Settings": {
        "RJReport": {
            "EmailSender": "realmjoin-report@contoso.com",
            "ServiceDesk_DisplayName": "Service Desk de TI",
            "ServiceDesk_EMail": "servicedesk@domain.com",
            "ServiceDesk_Phone": "+49123456789",
            "ServiceDesk_PortalUrl": "https://servicedesk.domain.com",
            "Branding": {
                "HeaderImageUrl": "https://cdn.contoso.com/branding/email-header.png",
                "FooterImageUrl": "https://cdn.contoso.com/branding/email-footer.png",
                "FooterLink": "https://intranet.contoso.com",
                "AccentColor": "#0052cc",
                "TextColor": "#1a1a2e"
            },
            "StorageAccount": {
                "ResourceGroup": "rg-reports",
                "StorageAccountName": "stcontosoreports",
                "LinkExpiryDays": 6
            }
        }
    }
}
```


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/pt/automatizacao/runbooks/runbook-report-settings.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
