The CreatorCon Call for Content is officially open! Get started here.

Guilherme B
Giga Guru
Giga Guru
Otimizando Consultas e Scripts em ServiceNow com GlideRecord
 
Ao trabalhar com ServiceNow, um dos aspectos mais poderosos e frequentemente utilizados é o GlideRecord. Esta classe especial permite aos desenvolvedores realizar operações de banco de dados sem a necessidade de escrever SQL, utilizando JavaScript para facilitar a interação com tabelas e registros do ServiceNow.
Como Utilizar GlideRecord para Consultas em Tabelas
Para consultar uma tabela, primeiramente é necessário criar um objeto GlideRecord para a tabela desejada. Por exemplo, para acessar a tabela "incident":
javascript
Copiar código
var gr = new GlideRecord('incident');
gr.query(); // Emite a consulta para o banco de dados para obter todos os registros
 
while (gr.next()) {
// Adicione código aqui para processar cada registro de incidente
}
 
Essa abordagem recupera todos os registros da tabela "incident". No entanto, muitas vezes queremos obter registros específicos com base em certos critérios. Por exemplo, para obter todos os incidentes com prioridade 1:
javascript
Copiar código
var gr = new GlideRecord('incident');
gr.addQuery('priority', 1);
gr.query();
 
while (gr.next()) {
// Processar registros de incidentes com prioridade 1
}
 
Práticas Recomendadas para Uso de GlideRecord
  1. Filtro de Consultas: Utilize addQuery para adicionar condições específicas às suas consultas. Isso reduz a quantidade de dados processados e melhora a performance do script.
  2. Atualizações Seguras: Sempre verifique a existência de registros antes de realizar operações de atualização ou exclusão para evitar erros.
  3. Uso de Índices: Assegure-se de que suas consultas utilizem colunas indexadas para melhorar a velocidade de recuperação de dados.
  4. Debugging: Utilize o JavaScript Debugger e o JavaScript Log do ServiceNow para depurar e registrar informações durante o desenvolvimento do script.
Exemplo de Script de Atualização de Registros
Aqui está um exemplo de como atualizar o campo "priority" de todos os incidentes que possuem a prioridade como "1":
javascript
Copiar código
var gr = new GlideRecord('incident');
gr.addQuery('priority', 1);
gr.query();
 
while (gr.next()) {
gr.priority = 2; // Atualiza a prioridade para 2
gr.update();
}
 
O GlideRecord facilita muito a vida dos desenvolvedores ao permitir manipulações eficientes e seguras dos dados no ServiceNow. Adotar essas práticas recomendadas pode ajudar a otimizar o desempenho dos seus scripts e garantir que suas operações de banco de dados sejam realizadas de maneira eficaz e sem erros.
 
Tenho uma playlist no youtube só falando de GlideRecord.
Version history
Last update:
‎07-03-2024 06:00 AM
Updated by:
Contributors