CSBScratchpadUtil - com escopo

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 4 min. de leitura
  • A API CSBScratchpadUtil permite que os consumidores compartilhem informações "extras" que estão fora de qualquer outro serviço Central de controle de serviços, com seus provedores.

    Essas informações são armazenadas como pares de nome-valor na tabela Bloco de anotações [sn_sb_scratchpad]. As informações compartilhadas devem ser associadas a tarefas que são de dois tipos: tarefas do provedor ou tarefas remotas.

    Se a tarefa associada estiver ativa, as informações atualizadas do bloco de anotações serão sincronizadas com a instância do consumidor. Se uma tarefa for desativada ou excluída, as informações no bloco de anotações também serão excluídas após um número especificado de dias; por padrão, três. Este padrão é definido na propriedade sn_sb.scratchpad.autodelete.days.

    Tanto os provedores quanto os consumidores podem adicionar, atualizar e remover informações da tabela Bloco de anotações. Os produtores atualizam essas informações usando a API PSBScratchpadUtil - com escopo.

    Para acessar esta API, a aplicação Central de controle de serviços para consumidores deve ser instalada. Esta API é executada no namespace sn_sb_con.

    CSBScratchpadUtil - get(GlideRecord taskGR, String name)

    Retorna o valor de uma propriedade de bloco de anotações especificada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor associada à propriedade do bloco de anotações especificada.

    Tabelas: tarefa remota [sn_sb_con_remote_task] e tarefa do provedor [sn_sb_con_provider_task].

    nome Cadeia de caracteres Nome da propriedade do bloco de anotações cujo valor será recuperado.

    Tabela: bloco de anotações [sn_sb_scratchpad]

    Tabela 2. Retornos
    Tipo Descrição
    Cadeia de caracteres ou nulo Valor da propriedade do bloco de anotações solicitada. Nulo se a propriedade não for encontrada.

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_con_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) { 
      var util = new sn_sb_con.CSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(util.get(rtGR, "name1"));
    }

    Saída:

    "value1"

    CSBScratchpadUtil – getAll(GlideRecord taskGR)

    Retorna os nomes e valores de propriedade (pares de nome-valor) de todas as propriedades de bloco de anotações associadas à tarefa especificada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor cujas propriedades de bloco de anotações associadas serão retornadas.

    Tabela: tabelas Tarefa remota [sn_sb_con_remote_task] e Tarefa do provedor [sn_sb_con_provider_task].

    Tabela 4. Retornos
    Tipo Descrição
    Objeto Todos os nomes e valores de propriedade contidos na tarefa especificada.

    Por exemplo:

    { name1: value1, name2: value2, … }

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_con_remote_task");
    rtGR.setLimit(1);
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {  
      var util = new sn_sb_con.CSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(JSON.stringify(util.getAll(rtGR))); 
    }

    Saída:

    { "name1": "value1" }

    CSBScratchpadUtil – getNames(GlideRecord taskGR)

    Retorna a lista de nomes de todas as propriedades de bloco de anotações associadas ao registro de tarefa especificado.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor para a qual a lista de nomes de todas as propriedades de bloco de anotações associadas será retornada.

    Tabela: tarefa remota [sn_sb_con_remote_task] e tarefa do provedor [sn_sb_con_provider_task]

    Tabela 6. Retornos
    Tipo Descrição
    Matriz de cadeias de caracteres Lista de nomes das propriedades do bloco de anotações associadas ao registro de tarefa especificado.

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_con_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_con.CSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      gs.info(JSON.stringify(util.getNames(rtGR))); 
    }

    Saída:

    [ "name1" ]

    CSBScratchpadUtil – populateClientScratchpadBR(GlideRecord taskGR)

    Coloca as propriedades do bloco de anotações associadas à tarefa remota especificada ou à tarefa do provedor no cliente g_scratchpad.

    Você pode chamar este método a partir de uma regra de negócio de exibição de IU.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor cujas entradas de bloco de anotações associadas devem ser colocadas no cliente g_scratchpad.

    Tabelas: tarefa remota [sn_sb_con_remote_task] e tarefa do provedor [sn_sb_con_provider_task]

    Tabela 8. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar este método.

    new sn_sb_con.CSBScratchpadUtil().populateClientScratchpadBR(current);

    CSBScratchpadUtil - remove (GlideRecord taskGR, nome da cadeia de caracteres)

    Exclui a propriedade de bloco de anotações especificada da tabela Bloco de anotações [sn_sb_scratchpad].

    Nota:
    As exclusões não são sincronizadas com outras ServiceNow instâncias. As propriedades do bloco de anotações são excluídas automaticamente em um número especificado de dias depois que o registro de tarefa associado é desativado ou excluído.
    Tabela 9. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor associada à propriedade do bloco de anotações especificada.

    Tabelas: tarefa remota [sn_sb_con_remote_task] e tarefa do provedor [sn_sb_con_provider_task].

    nome Cadeia de caracteres Nome da propriedade do bloco de anotações a ser removida da tabela Bloco de anotações [sn_sb_scratchpad].
    Tabela 10. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_con_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();  
    rtGR.next() 
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_con.CSBScratchpadUtil();
      util.update(rtGR, "name1", "value1"); 
      util.remove(rtGR, “name1”);
      gs.info(util.get(rtGR, "name1")); 
    }

    Saída:

    undefined

    CSBScratchpadUtil - update(GlideRecord taskGR, Nome da cadeia de caracteres, Valor da cadeia de caracteres, booliano client_side_accessible)

    Insere uma propriedade ou atualiza o valor de uma propriedade na tabela Bloco de anotações [sn_sb_scratchpad].

    Nota:
    O número máximo de propriedades que você pode atualizar em uma chamada é 50.
    Tabela 11. Parâmetros
    Nome Tipo Descrição
    taskGR GlideRecord GlideRecord da tarefa remota ativa ou da tarefa do provedor associada à propriedade do bloco de anotações especificada.

    Tabelas: tarefa remota [sn_sb_con_remote_task] e tarefa do provedor [sn_sb_con_provider_task]

    nome Cadeia de caracteres Nome de uma propriedade de bloco de anotações nova ou existente. Este nome deve ser exclusivo em todas as propriedades do bloco de anotações.
    valor Cadeia de caracteres Valor da propriedade do bloco de anotações.

    Máximo: 4000 caracteres.

    client_side_accessible Booliano Opcional. Sinalizador que indica se esta propriedade está disponível para o g_scratchpad do lado do cliente quando populateClientScratchpadBR é chamado de uma regra de negócio de exibição.
    Valores válidos:
    • verdadeiro: a propriedade está disponível.
    • falso: a propriedade não está disponível.

    Padrão: falso

    Tabela 12. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar este método.

    var rtGR = new GlideRecord("sn_sb_con_remote_task");
    rtGR.setLimit(1); 
    rtGR.query();
    rtGR.next()
    if (rtGR.isValidRecord()) {
      var util = new sn_sb_con.CSBScratchpadUtil();
      util.update(rtGR, "name1", "value2");
      gs.info(util.get(rtGR, "name1")); 
    } 

    Saída:

    "value2"