ServiceNow CLI
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.
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"
}
}
}Estrutura de comando
ServiceNow CLI Os comandos seguem esta estrutura:
- A chamada de base para o programa
snc. - O grupo de comando de nível superior seguido por qualquer grupo de comando secundário.
- O comando que especifica qual operação executar.
- 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: admintext: 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 yamltabela: 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 yamlnone: 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ídaem 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
--outputna 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