---
sourceDocument: Capacidades da Now Platform da Yokohama
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/yokohama/servicenow-platform

 Release :

    - yokohama

ft:locale :

    - pt-BR

ft:publication_title :

    - Capacidades da Now Platform da Yokohama

ft:clusterId :

    - platcap

bundleId :

    - platcap

workflow :

    - Platform


---

# Estrutura do script de uma política PaCE

# Estrutura do script de uma política PaCE {#ariaid-title1}

* Versão de lançamento: Yokohama
* 
* Atualizado 30 de jan. de 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 min. de leitura

Esta seção descreve a estrutura do script de uma política PaCE.  
Quando uma política é executada, um conjunto de parâmetros é aprovado e o desenvolvedor da política pode usar esses parâmetros nesse script de política para decidir se está em conformidade, se não está em conformidade ou se é uma conformidade com exceção e retornar essa decisão ao serviço de chamada. A imagem a seguir mostra um exemplo de script: Figura 1. Exemplo de script de política

Para depurar o script, selecione o ícone Script do depurador ![Ícone do depurador](). Para obter mais informações, consulte [Script Debugger API](https://www.servicenow.com/docs/access?context=scriptdebugger-api&version=yokohama&pubname=yokohama-api-reference&ft:locale=en-US).

A tabela a seguir lista os parâmetros de função da política e como eles podem ser usados em seu script de política.
{#pace-policy-structure__table_jk5_xlt_jrb__entry__2}

| Nome da Variável | Descrição |
|:-|:-|
| agente | `Agente` é um objeto que o codificador de política pode usar para registrar mensagens. As mensagens de log são armazenadas na tabela `sn_pace_execution_log`. Você pode revisar essas mensagens de log para fins de depuração, acompanhamento ou monitoramento. As mensagens de log podem ser registradas em log com um dos seguintes níveis: * 1: info * 2: depurar * 3: aviso * 4: erro {#pace-policy-structure__ul_ifk_v5t_jrb} Quando uma política é invocada por meio da API, você pode especificar o nível de log desejado. Por exemplo:o formato é o seguinte: `logger.info("** snapshotId é:" +snapshotId);` |
| atual Registro | `currentRecord` é um objeto da versão atual da política que é executado quando a política é usada. Para exibir os detalhes do `currentRecord`, navegue até a guia Versões na página inicial da Política e localize a política cujo estado da versão está definido como Atual. Na imagem abaixo, podemos ver que a versão ativa atual da política está realçada. Ela mostra os seguintes detalhes: * número da versão * data da última atualização * o nome do usuário que atualizou a versão * o número de vezes que ela foi executada pela aplicação de chamada * o número de vezes que ela foi executada no ambiente de testes {#pace-policy-structure__ul_ug1_tpg_35b}O script da política pode acessar esses dados durante o tempo de execução da política interagindo com o objeto `currentRecord` aprovado para a política. <br /> Este exemplo mostra como um desenvolvedor de política pode acessar as propriedades do registro de versão da política: (function(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output) { //retrieve the input values logger.info(currentRecord.getValue('name')); } )(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output); |
| documento Registro | O `documentRecord ` é usado para mapear a política para o objeto relevante (tabela e documentID) que está sendo validado. O `documentRecord` é uma combinação de nome_tabela e sysID. Com base nas propriedades do objeto, a lógica da política é usada para gerenciar e interagir com o objeto que está sendo validado para determinar a decisão correta. Por exemplo: no ambiente Configuração de DevOps, uma política pode ser mapeada para o implantável. Quando a API é invocada, uma consulta é iniciada na tabela do documento (implantável) e no ID do sistema do implantável. { "table": "sn_cdm_deployable", "sysId": "d1be8f5e87d80110eec7dbdd3fbb357d" } Este exemplo mostra como o documentRecord pode ser usado no script de uma política: (function(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output) { //assuming that associated document has state field var documentState = documentRecord.getValue("state"); if (documentState == "new") ... else ... } )(logger, currentRecord, documentRecord, apiVars, configParams, recordRefs, dataCollectors, childrenOutputs, output); |
| callerInput | As callerInput são passadas para a API PaCE quando ela é invocada. Ela inclui todas as variáveis de de entrada do solicitante definidas na versão da política. Consulte a seção \<Definir entradas do solicitando\> para obter detalhes O [Exemplo de script de política](https://servicenow-prod.fluidtopics.net/uQwvhrGKzjk4KVyVvWKdRA#pace-policy-structure__fig_qfr_z1z_yrb) mostra como as políticas podem ser usadas para validar dados de configuração no ambiente DevOps. No script de exemplo, a variável apiVars é definida como var snapshotId = apiVars.snapshotId; em que o `snapshotId` especificado é mapeado para o `snapshotId` correspondente do implantável da Configuração de DevOps que está sendo validado com base nos critérios especificados. O desenvolvedor de política pode definir a lógica no script de política para usar os valores de callerInput passados quando a API é invocada para determinar a decisão. Por exemplo, o SnapshotID passado é usado para identificar valores-chave relacionados ao snapshotID específico para um implantável transmitido no objeto documentRecord. |
| mappedInput | das entradas de mapeamentosão variáveis passadas ao mapear a política e incluem todas as variáveis de das entradas de mapeamento definidas para uma versão específica da política. A variável `mappedInput` é definida da seguinte forma no [Exemplo de script de política](https://servicenow-prod.fluidtopics.net/uQwvhrGKzjk4KVyVvWKdRA#pace-policy-structure__fig_qfr_z1z_yrb). var dbPort = configParams.dbPort; O desenvolvedor de política pode definir a lógica no script da política para usar os valores passados no mapeamento para determinar a decisão. Por exemplo, o número `dbPort` deve ser menor que 30000, caso contrário, a política será considerada não conforme. |
| recordRefs | As referências de registro definem consultas para extrair dados de qualquer tabela ServiceNow® e usar os dados para configurar a lógica da política. Há uma função de preenchimento automático que pode selecionar a referência de registro no Editor Javascript. |
| dataCollectors | A função de coletores de dados coleta dados do processo de entrada de ServiceNow ou de uma fonte de dados externa para fornecer uma saída. |
| secundários Saídas | Sem suporte nesta versão. |
| saída Este parâmetro é usado para passar a saída da execução da política que inclui a decisão de volta para o serviço de chamada. Ele fornece uma decisão relacionada a esta política, com informações adicionais, como erros, avisos e detalhes do resultado. Este exemplo mostra uma amostra de saída com decisões conformes e não conformes: { "decision": "compliant", "results": [], "warnings": [], "failures": [], "state": "complete" } { "decision": "non_compliant", "results": [], "warnings": [], "failures": ["Failed to validate key"], "state": "complete" } ||
| output. decision | A propriedade de decisão pode ser definida como: * Conforme: determina que a política está em conformidade com os requisitos. * Não conforme: determina que a política não está em conformidade com os requisitos. * Conformidade com exceção: determina que uma exceção à política foi aprovada e todas as políticas que não estão em conformidade são definidas para o estado de conformidade com exceção. {#pace-policy-structure__ul_t2h_st4_fsb} A decisão é retornada em um formato JSON para o serviço de chamada. Nota: Se um valor não for especificado no campo `output.decision` no script, quando a política for executada, por padrão, esse campo será definido como compatível se não houver falhas. |
| output. results | A propriedade de `resultados` pode ser usada para passar dados de volta para o serviço de chamada em decisões tomadas durante a fase de validação de política. Um objeto de lista com uma lista de resultados pode ser passado de volta para o serviço de chamada. |
| output. warnings | A propriedade de `avisos` pode ser usada para passar dados de volta para o serviço de chamada em todos os avisos que ocorreram durante a fase de validação da política. |
| output. failures | A propriedade `falhas` pode ser usada para passar dados de volta para o serviço de chamada em quaisquer erros que ocorreram durante a fase de validação da política. |
| Nota: Os campos a seguir são preenchidos automaticamente quando o script de política PaCE é executado. ||
| output. name | O nome (versão atual) da política que está sendo executada. |
| output. state | Indica o estado da invocação da política. * Concluído: a invocação foi concluída com sucesso. * Pendente: indica que não foi possível executar a política com sucesso e está em um estado incompleto. {#pace-policy-structure__ul_q3s_lts_fsb} |
[ ]

{#pace-policy-structure__table_jk5_xlt_jrb}  
Nota:  
* As sugestões de preenchimento automático estão disponíveis no editor de script de política para o parâmetro `logger.callerInput` e `mappedInput`.
* Para exibir informações adicionais de um parâmetro, insira o nome do parâmetro e selecione uma das opções a seguir:   

{#pace-policy-structure__ul_d1j_xc1_zrb}

