Aplicando Tags a Objetos (Open Source)
As Tags são ideais para agrupar objetos de uma forma que pode ser filtrada em partes menores e mais digeríveis. Elas podem ser usadas para indicar status ou para criar conjuntos personalizados de Organizações, Ativos, Engajamentos ou Achados em todo o modelo de dados.
No DefectDojo, as tags são um elemento de primeira classe e são reconhecidas como facilitadoras da organização em cada nível do modelo de dados.
Aqui está um exemplo de um Ativo com duas tags e quatro achados, cada um com uma única tag:

Formatos de Tag
As tags podem ser formatadas de qualquer uma das seguintes maneiras:
- StringWithNoSpaces
- string-with-hyphens
- string_with_underscores
- colons:acceptable
Gerenciamento de Tags
Adicionando e Removendo
As tags podem ser gerenciadas das seguintes formas:
Criando ou Editando novos objetos
Quando um novo objeto é criado ou editado pela UI ou pela API, há um campo para especificar as tags a serem definidas em um determinado objeto. Esse campo é um campo de múltipla seleção que também conta com autocompletar, tornando muito mais fácil buscar e adicionar tags existentes. Veja como o campo aparece no Ativo do print de tela da seção anterior:

Importação e Reimportação
As tags também podem ser aplicadas a um determinado teste no momento da importação ou reimportação. Esse é um caso de uso muito útil ao importar via API com automação, pois oferece a oportunidade de anexar detalhes da execução da automação e informações da ferramenta que talvez não sejam capturadas diretamente no objeto de teste ou de achado.
O campo tem a mesma aparência e o mesmo comportamento de quando está em um objeto qualquer
Menu de Edição em Massa (somente achados)
Quando é necessário atualizar muitos Achados com o mesmo conjunto de tags, o menu de edição em massa pode ser usado para facilitar o trabalho.
No exemplo a seguir, digamos que eu queira atualizar as tags dos dois achados com a tag “tag-group-alpha” para uma nova lista de tags como esta [“tag-group-charlie”, “tag-group-delta”]. Primeiro, eu selecionaria as tags a serem atualizadas:

Depois que um achado é selecionado, um novo botão aparece com o nome “Bulk Edit”. Ao clicar nesse botão, aparece um menu suspenso com várias opções, mas o foco por enquanto é apenas nas tags. Atualize o campo com a lista de tags desejada, como a seguir, e clique em enviar

As tags dos Achados selecionados serão atualizadas para o que foi especificado no campo de tags dentro do menu de edição em massa

Herança de Tags
Quando a Herança de Tags está habilitada, as tags aplicadas a um determinado Ativo serão automaticamente aplicadas a todos os objetos abaixo dos Ativos na Hierarquia de Ativos.
Configuração
A Herança de Tags pode ser habilitada nos seguintes níveis de escopo:
- Escopo Global
- Todo Ativo em todo o sistema passará a aplicar tags a todos os objetos filhos (Engajamentos, Testes e Achados)
- Isso é definido nas Configurações do Sistema
- Escopo de Ativo
- Somente o Ativo selecionado passará a aplicar tags a todos os objetos filhos (Engajamentos, Testes e Achados)
- Isso é definido na página de criação/edição do Ativo
Comportamentos
Quando a Herança de Tags está habilitada, as Tags padrão podem ser adicionadas e removidas dos objetos da forma usual. No entanto, as tags herdadas não podem ser removidas de um objeto filho sem removê-las do objeto pai Veja o exemplo a seguir de adição de uma tag “test_only_tag” ao objeto Teste e uma tag “engagement_only_tag” ao Engajamento.

Quando são feitas atualizações na lista de tags de um Ativo, as mesmas alterações são aplicadas de forma assíncrona a todos os objetos dentro do Ativo. A duração dessa tarefa está diretamente relacionada à quantidade de objetos contidos em um achado.
Open Source: Se as alterações de tags não forem observadas em um período de tempo razoável, consulte os logs do worker do celery para identificar onde possíveis problemas podem ter ocorrido.
Filtragem por Tags (UI Clássica)
As tags podem ser filtradas de várias formas, tanto pela UI quanto pela API. Por exemplo, aqui está um trecho dos filtros de Achado:

Há dez campos relacionados a tags:
- Tags: filtra por quaisquer tags que estejam anexadas a um determinado Achado
- Exemplos:
- O Achado será retornado
- Tags do Achado: [“A”, “B”, “C”]
- Consulta de Filtro: “B”
- O Achado não será retornado
- Tags do Achado: [“A”, “B”, “C”]
- Consulta de Filtro: “F”
- O Achado será retornado
- Exemplos:
- Not Tags: filtra por quaisquer tags que não estejam anexadas a um determinado Achado
- Exemplos:
- O Achado será retornado
- Tags do Achado: [“A”, “B”, “C”]
- Consulta de Filtro: “F”
- O Achado não será retornado
- Tags do Achado: [“A”, “B”, “C”]
- Consulta de Filtro: “B”
- O Achado será retornado
- Exemplos:
- Tag Name Contains: filtra por quaisquer tags que contenham parte ou toda a consulta no Achado em questão
- Exemplos:
- O Achado será retornado
- Tags do Achado: [“Alpha”, “Beta”, “Charlie”]
- Consulta de Filtro: “et” (parte de “Beta”)
- O Achado não será retornado
- Tags do Achado: [“Alpha”, “Beta”, “Charlie”]
- Consulta de Filtro: “meg” (parte de “Omega”)
- O Achado será retornado
- Exemplos:
- Not Tags: filtra por quaisquer tags que não contenham parte ou toda a consulta no Achado em questão
- Exemplos:
- O Achado será retornado
- Tags do Achado: [“Alpha”, “Beta”, “Charlie”]
- Consulta de Filtro: “meg” (parte de “Omega”)
- O Achado não será retornado
- Tags do Achado: [“Alpha”, “Beta”, “Charlie”]
- Consulta de Filtro: “et” (parte de “Beta”)
- O Achado será retornado
- Exemplos:
Os outros seis filtros de tags seguem as mesmas regras que “Tags” e “Not Tags” acima, mas em níveis diferentes do modelo de dados:
- Tags (Teste): filtra por quaisquer tags anexadas ao Teste de um determinado Achado
- Not Tags (Teste): filtra por quaisquer tags que não estejam anexadas ao Teste de um determinado Achado
- Tags (Engajamento): filtra por quaisquer tags anexadas ao Engajamento de um determinado Achado
- Not Tags (Engajamento): filtra por quaisquer tags que não estejam anexadas ao Engajamento de um determinado Achado
- Tags (Ativo): filtra por quaisquer tags anexadas ao Ativo de um determinado Achado
- Not Tags (Ativo): filtra por quaisquer tags que não estejam anexadas ao Ativo de um determinado Achado