ServiceNow CLI
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.
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"
}
}
}Estrutura de comando
ServiceNow CLI comandos seguem esta estrutura:
- A chamada de base para o programa
snc. - O grupo de comandos de nível superior seguido por quaisquer grupos de comandos secundários.
- O comando que especifica qual operação executar.
- 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: 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 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 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 sã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 atualmente no arquivo de configuração.
$ snc record query --table incident --query ‘active=true’ --output json