# Criando uma regra de componente

Availability-note[Beta](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-beta)

Conteúdo Beta

Nesse cenário, você usa APIs do Talend para criar uma regra de componente para melhorar a qualidade do seu projeto.

## Sobre esta tarefa

Eis alguns detalhes sobre a chamada de API:

```
Method: POST
endpoint: api/v1/projects/quality/rules/category/components
payload:
    {
    "name": "string",
    "description": "string",
    "severity": "Info",
    "category": "Component",
    "threshold": {
      "operator": "string",
      "value": 0,
      "type": "Percentage"
    },
    "components": [
      "string"
    ],
    "parameters": [
      "string"
    ],
    "inputs": [
      "string"
    ],
    "exists": true
  }
```

![API selecionada para obter todas as regras.](https://help.qlik.com/Resources/Images/qlik-talend-cloud-migration-toolkit-user-guide/tcmp-api-rules.png)

## Procedimento

1. Chame o endpoint POST /api/v1/projects/quality/rules/category/component para criar uma regra das categorias Componente. Existem outros endpoints disponíveis se você quiser criar uma regra de outra categoria.
2. Na área Corpo, insira as seguintes informações:
   | Nome do parâmetro | Valor |
   | --- | --- |
   | nome | Insira o nome da regra. |
   | description | Insira a descrição da regra. |
   | severity | Insira a gravidade da regra. A gravidade é definida com base no impacto da regra na qualidade do projeto.<br>Você pode fornecer um dos seguintes tipos de severidade:<br>Informativo,<br>Menor,<br>Maior,<br>Crítico. |
   | operador | Especifique o operador de comparação para comparar com o limite: &lt;=, \&gt;=, =, \&gt;= |
   | valor | Insira um valor para o limite. Esse valor define um limite ou fronteira, acima ou abaixo do qual uma condição deve ser observada. Este campo aceita valores numéricos a partir de 0. |
   | tipo | Insira um dos seguintes tipos de limite:<br>Porcentagem ou<br>Numérico. |
   | components | Insira os conectores ou nomes de componentes. |
   | parâmetros | Cada componente ou nó em um Job pode ter parâmetros como CÓDIGO, URL, URI. Por exemplo, o componente tJava tem um parâmetro de CÓDIGO.<br><br>Cada Job pode ter parâmetros<br>(PARÂMETRO\_DE\_PROJETO) como<br>CARGA\_IMPLÍCITA ou<br>EXECUÇÃO\_MULTI\_THREAD.<br><br>Cada conexão pode ter parâmetros como<br>PARTITIONER ou<br>NUM\_PARTITIONS. |
   | inputs | Você pode adicionar uma lista de expressões regulares ou qualquer texto para validar a regra. |
   | exists | Determina se um determinado componente existe no trabalho. Os valores podem ser verdadeiro ou<br>falso. |

   Exemplo:
   ```
    {
       "name": "Java Logs",
       "description": "Identify Jobs that contain java logs",
       "severity": "Info",
       "category": "Component",
       "threshold": {
         "operator": "<=",
         "value": 0,
         "type": "Numeric"
       },
       "components": [
         "tJava", "tJavaFlex", "tJavaRow"
       ],
       "parameters": [
         "CODE", "CODE_START", "CODE_MAIN", "CODE_END"
       ],
       "inputs": [
         "System.out.print", "System.err.print"
       ],
       "exists": true
     }
   ```
3. Clique em Executar para fazer sua chamada.

## Resultados

A regra será criada.