Lab 2.8: Recebendo atributos da tarefa a ser executada
Automações podem ser parametrizadas para maior flexibilidade e código mais dinâmico.
No projeto de exemplo, estamos utilizando uma lista fixa de canais do YouTube para fazer a busca de informações. Isso exige que o código seja alterado sempre que quisermos buscar por novos canais, o que não é ideal.
Vamos adaptar o projeto para poder receber uma lista de canais como parâmetro, permitindo que qualquer operador possa criar tarefas com os canais desejados sem a necessidade de alterar o código.
Orquestrador
Podemos definir parâmetros para qualquer Automações no Orquestrador BotCity, seguindo o passo a passo:
- Acesse o menu lateral Automações
- Abra a automação desejada
- Clique na aba Desenvolvimento
- Clique no botão Editar
- Clique no botão Adiciona + na seção Parâmetros
- Preencha os dados do parâmetro e clique em Salvar na parte superior da página
Um parâmetro é definido pelos seguintes elementos:
- Nome: O nome amigável do parâmetro.
- Label: O identificador exclusivo do parâmetro.
- Descrição: Uma breve descrição sobre o parâmetro.
- Tipo: Seleção do tipo de dados do parâmetro, podem ser:
- Text: Tipo de entrada de texto.
- Integer: Tipo de entrada de número inteiro.
- Double: Tipo de entrada de número decimal.
- Date: Tipo de entrada de data.
- Intervalo: Indica o valor mínimo e máximo para a entrada de dado numérico.
- Valor padrão: Indica qual valor de entrada definido como padrão para o campo.
- Obrigatório:
- Sim: É obrigatório informar um valor para o campo no momento de criar uma tarefa.
- Não: É opcional informar um valor para o campo no momento de criar uma tarefa.
Para esse treinamento, vamos utilizar as seguintes informações:
- Nome:
Lista de Canais - Label:
canais - Descrição:
Lista de canais do YouTube separados por vírgula. - Tipo:
Text - Valor padrão:
botcity_br - Obrigatório:
Sim
Dica
Para mais detalhes sobre parâmetros no Orquestrador BotCity, acesse a Documentação oficial.
O parametro criado ficará conforme a imagem abaixo:
Código
Agora que temos o parâmetro definido em nossa automação, o próximo passo é alterar o código para capturar a lista de canais.
Para isso vamos utilizar o objeto execution e acessar a propriedade parameters que é um dicionário.
Vamos alterar a variável canais que recebe uma lista fixa de canais para que ela passe a utilizar o parâmetro criado no Orquestrador.
Atenção
Como padrão vamos adotar que o nome de cada canal será separado por vírgula, por exemplo:
`botcity_br,github,pythonbrasiloficial`
Encontre a lista de canais no código e adapte conforme o trecho abaixo:
# Substitui a lista fixa pelo parâmetro "canais" do Orquestrador
canais = execution.parameters.get("canais")
# Transforma o texto recebido em uma lista, separando pelos ","
canais = canais.split(",")
Resultado
Ao criar uma nova tarefa para essa automação, o operador poderá informar a lista de canais desejada.
Note que o parâmetro canais criado na etapa anterior foi dinâmicamente exibido para que operadores possam criar tarefas.
Nesse momento o campo é preenchido com a lista de canais separados por vírgula.
botcity_br,github,pythonbrasiloficial
Ao executar a tarefa, o Orquestrador passará o valor informado como parâmetro para a automação.


