segunda-feira, 30 de janeiro de 2023

Automatizando ServiceNow PDI "wake up" com Python e Selenium

A ServiceNow oferece uma sandbox para todos os administradores, arquitetos, desenvolvedores e especialistas – ou simplesmente curiosos sobre o funcionamento da plataforma – a fim de que possam testar e validar funcionalidades e recursos. Estes ambiente são denominados PDI (Personal Developer Instance) – ou no português, instância pessoal de desenvolvimento.

Como a empresa não cobra pelo uso dos ambientes, é natural que preze pela economia de recursos. Sendo assim, PDIs que estejam entre 6 e 8 horas sem atividade (ociosas), são devolvidas para o pool da ServiceNow, e ficam lá até que seus usuário solicitem novamente seu funcionamento. Portanto, todos os dias, quando se deseja utilizar uma PDI, os usuários necessitam acordá-la.

Let's automate it!

Despertar uma PDI consiste basicamente em autenticar-se no site https://developer.servicenow.com com o E-mail e senha utilizado para cadastrar-se no site e provisionar a instância. O processo pode levar alguns minutos até que a PDI esteja online. PDIs que não sejam acordadas por mais de 10 dias, são definitivamente excluídas pela ServiceNow. Com isso, para quem tem apego aos seus projetinhos, é interessante estar sempre despertando a instância, mesmo quando não vai utilizá-la. E que tal automatizar este processo?

Não sou nem um pouco especialista no tema, mas fuçando e com alguma pesquisa, criei um script super simples para automatizar o wakeup de uma PDI. Quer ver como está funcionando?

Você não ficou surdo 😅. Não tem fala no vídeo mesmo, pois é apenas ilustrativo. 🤓

Agora sim! Para replicar a construção do script, basta seguir os passos:

  1. Baixe e instale o Python: O download pode ser feito pelo site oficial.
  2. Instale a biblioteca Selenium: Abra o console/terminal e digite: pip install Selenium.
  3. Baixe o ChromeDriver: Salve o arquivo na mesma pasta onde o script será criado.
  4. Utilizando um editor da sua preferência (Notepad, Notepad++, Sublime Text, etc...) crie o script conforme o modelo que estou disponibilizando aqui https://www.joatanfontoura.com/arquivos/AuthSNDev.py, lembrando de apenas alterar os valores das variáveis SNDevUser e SNDevPass para seu E-mail e senha cadastrados no Site Developer.
  5. Depois disso, é só chamar o script no console/terminal, digitando AuthSNDev.py, no caso de você ter colocado o mesmo nome que eu usei.
  6. Por fim, se quiser, você pode criar um agendamento para que o script seja executado diariamente a partir do seu computador: Aqui as instruções para agendar no Windows.

No mais, acho que é isso. Espero que funcione pra você da mesma forma que funcionou pra mim!

UPDATE [22/12/2023]: O script disponível para download foi revisado, adequando o ID dos elementos da página do site Developer com as mudanças realizadas pela ServiceNow.

Um comentário:

  1. Alo meu nerd favorito, o tempo de inatividade para que a PDI volte para o pool e de 10 dias. De qualquer maneira o script e uma excelente ideia. Abracao.

    ResponderExcluir