ServiceNow CLI

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • O ServiceNow CLI é uma interface de linha de comando que permite executar operações de instância do seu sistema local. Você pode estender a CLI para incluir novos comandos que atendam às necessidades da sua aplicação.

    Benefícios

    O ServiceNow CLI permite que você:

    • Execute operações CRUD básicas em registros em sua instância.
    • Desenvolva componentes personalizados e implante-os em sua instância para personalizar uma IU.
    • Crie comandos personalizados que permitem gerenciar aplicações personalizadas na linha de comando.
    • Use o ServiceNow CLI em scripts para simplificar as tarefas de configuração e as atividades operacionais.

    Arquitetura

    Os comandos são armazenados em uma tabela na instância à qual você está conectado. Quando o ServiceNow CLI se conecta à instância, ele recebe todos os comandos disponíveis compatíveis com essa instância.

    Fluxo de comunicação entre a CLI da ServiceNow e a instância.

    Os comandos são mapeados para um endpoint REST que é executado de forma assíncrona. Para obter mais informações, consulte Criar um comando personalizado no ServiceNow CLI.

    Como ativar o ServiceNow CLI

    Instale ServiceNow CLI solicitando-o do ServiceNow Store. Acesse o site ServiceNow Store para ver todos os aplicativos disponíveis e obter informações sobre como enviar solicitações para a loja. Para obter informações sobre notas de versão cumulativa para todos os aplicativos liberados, consulte as ServiceNow Store notas de versão do histórico de versão.

    Arquivo de configuração

    O ServiceNow CLI armazena informações de perfil em um arquivo config.json que, por padrão, é armazenado em seu diretório inicial no seguinte caminho:

    • Linux e Mac: ~/.snc/config.json
    • Windows: %USERPROFILE%\.snc\config.json

    A CLI usa este arquivo para determinar quais informações usar para se conectar a uma instância e quais configurações usar para gerar a saída. Por padrão, o ServiceNow CLI usa as configurações encontradas no perfil padrão para se conectar a uma instância. Para usar configurações alternativas, você pode criar e fazer referência a perfis nomeados adicionais. Para obter mais informações, consulte Configurando e gerenciando seus perfis de conexão ServiceNow CLI.

    O exemplo a seguir mostra um arquivo de configuração com um perfil padrão e um perfil nomeado. Cada perfil pode usar credenciais diferentes e especificar hosts e formatos de saída diferentes.

    {
       "profiles":{
          "default":{
             "host":"https://myinstance.service-now.com",
             "loginmethod":"basic",
             "username":"admin",
             "output":"json",  
             "hostversion":"Paris",
             "appversion":"1.0"
             },
          "user1":{
             "host":"https://otherinstance.service-now.com",
             "loginmethod":"basic",
             "username":"user1",
             "output":"yaml",
             "hostversion":"Paris",
             "appversion":"1.0"
             }
          }
    }
    Nota:
    As informações de credenciais confidenciais são armazenadas somente no conjunto de chaves do SO, não no arquivo de configuração.

    Estrutura de comando

    ServiceNow CLI comandos seguem esta estrutura:

    1. A chamada de base para o programa snc.
    2. O grupo de comandos de nível superior seguido por quaisquer grupos de comandos secundários.
    3. O comando que especifica qual operação executar.
    4. Argumentos gerais da CLI necessários para a operação. Você pode especificar argumentos em qualquer ordem.
    $ snc <command-group> <command> [arguments]

    Os argumentos podem ter vários tipos de valores de entrada, como números, cadeias de caracteres e objetos JSON. Os tipos compatíveis dependem do comando especificado.

    Valores de argumento

    Muitos valores de argumento em ServiceNow CLI são cadeias de caracteres simples ou valores numéricos, como a tabela e o nome da tabela no exemplo a seguir.

    $ snc record create --table incident --data "{short_description: 'New Incident'}"

    Você pode colocar entre aspas cadeias de caracteres que não contenham caracteres de espaço ou não. No entanto, você deve usar entre aspas as cadeias de caracteres que incluem um ou mais caracteres de espaço.

    Formatos de saída

    O ServiceNow CLI oferece suporte a quatro formatos de saída:

    • json: a saída é formatada como JSON. Este é o padrão.
      
      {
         "default": {
            "appversion": "1.0.8",
            "host": "https://myinstance.service-now.com",
            "hostversion": "Paris",
            "loginmethod": "basic",
            "output": "json",
            "username": "admin"
         },
         "user1": {
            "appversion": "1.0.8",
            "host": "https://otherinstance.service-now.com",
            "hostversion": "Paris",
            "loginmethod": "basic",
            "output": "yaml",
            "username": "admin"
         }
      }
    • yaml: a saída é formatada como YAML. Use YAML para lidar com a saída com serviços e ferramentas que emitem ou consomem cadeias de caracteres no formato YAML.
      default:
         appversion: 1.0.8
         host: https://myinstance.service-now.com
         hostversion: Paris
         loginmethod: basic
         output: json
         username: admin
      user1:
         appversion: 1.0.8
         host: https://otherinstance.service-now.com
         hostversion: Paris
         loginmethod: basic
         output: yaml
         username: admin
    • text: a saída é formatada como várias linhas de valores de cadeia de caracteres separados por tabulação. Use esta saída com ferramentas de texto tradicionais do UNIX, como grep, sed e awk, e com o processamento de texto realizado pelo PowerShell.
      default   https://myinstance.service-now.com   Paris   1.0.8   basic   admin   json 
      user1   https://otherinstance.service-now.com   Paris   1.0.8   basic   admin   yaml
    • tabela: a saída é formatada como uma tabela que apresenta as informações em um formato legível.
      NAME   HOST   HOST   VERSION   APP   VERSION   LOGIN   METHOD   USERNAME   OUTPUT 
      -------------------------------------------------------------------------------
      default   myinstance   Paris   1.0.8   basic   admin   json 
      user1   otherinstance   Paris   1.0.8   basic   admin   yaml
    • none: a CLI não imprime a saída no console. As mensagens de sucesso, erro e andamento ainda são exibidas.

    Você pode especificar a saída do comando de duas maneiras:

    Use a opção de saída em um perfil nomeado no arquivo de configuração
    O exemplo a seguir define o formato de saída padrão como texto.
    {
        "profiles":{
           "default":{
              "output":"text"
          }
    }
    Use o argumento --output na linha de comando
    O exemplo a seguir define a saída de um único comando como JSON. Esta opção no comando substitui qualquer valor definido atualmente no arquivo de configuração.
    $ snc record query --table incident --query ‘active=true’ --output json