ServiceNow CLI

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 4 min. de leitura
  • O ServiceNow CLI é uma interface de linha de comando que permite executar operações de instância a partir do 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 a partir da linha de comando.
    • Use o ServiceNow CLI em scripts para simplificar tarefas de configuração e 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 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 Configure e gerencie 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:
    Informações confidenciais de credenciais são armazenadas somente nas chaves do SO, não no arquivo de configuração.

    Estrutura de comando

    ServiceNow CLI Os comandos seguem esta estrutura:

    1. A chamada de base para o programa snc.
    2. O grupo de comando de nível superior seguido por qualquer grupo de comando secundário.
    3. O comando que especifica qual operação executar.
    4. Argumentos gerais da CLI exigidos pela 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 do argumento

    Muitos valores de argumento no ServiceNow CLI são cadeia 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 cadeias de caracteres que não contenham caracteres de espaço entre aspas ou não. No entanto, você deve usar aspas em 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 formatadas em 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 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 serã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 no arquivo de configuração.
    $ snc record query --table incident --query ‘active=true’ --output json