Credenciales
Ir a CredencialesSabemos que no es una buena práctica exponer datos sensibles en el código. Aquí, bajo el apartado de credenciales, puedes agregar datos restringidos utilizados en tu automatización, como contraseñas, nombres de usuario, correos electrónicos o cualquier otro dato restringido, como se muestra a continuación:
Crear almacenamiento de credenciales¶
Para agregar una nueva credencial, debes definir una etiqueta para este almacenamiento y agregar cada secreto, proporcionando una clave y un valor.
Tip
Explore para ver ejemplos de código que facilitan la manipulación de credenciales, acceda y aprenda a crear credenciales simples y obtener credenciales mediante código.
Los fragmentos generados están disponibles en los lenguajes Python, Java, JavaScript y TypeScript.
Cómo usar las credenciales con el SDK de Maestro¶
Puedes manipular fácilmente las credenciales utilizando el SDK de Maestro en tu código de automatización.
Instalación¶
Si aún no tienes instalada la dependencia, simplemente sigue estas instrucciones:
Important
Además de la instalación, recuerda incluir la dependencia en el archivo requirements.txt
del bot.
<repositories>
<repository>
<id>nexus-botcity-public</id>
<url>https://devtools.botcity.dev:8081/repository/botcity-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- Your other dependencies -->
<dependency>
<groupId>dev.botcity</groupId>
<artifactId>maestro-sdk</artifactId>
<version>2.0.3</version>
</dependency>
</dependencies>
Importar el SDK¶
Después de la instalación, importa la dependencia e instancia el SDK de Maestro:
# Import for integration with BotCity Maestro SDK
from botcity.maestro import *
# Disable errors if we are not connected to Maestro
BotMaestroSDK.RAISE_NOT_CONNECTED = False
# Instantiating the Maestro SDK
maestro = BotMaestroSDK.from_sys_args()
# Fetching the details of the current task being executed
execution = maestro.get_execution()
// Import for integration with BotCity Maestro SDK
const { BotMaestroSdk } = require('@botcity/botcity-maestro-sdk')
// Getting parameters passed by Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args
// Login with information from the Dev. Environment page
const maestro = new BotMaestroSdk()
maestro.login("YOUR_SERVER_HERE", "YOUR_USER_HERE", "YOUR_KEY_HERE")
// Fetching the details of the current task being executed
const executionTask = await maestro.getTask(taskid)
// Import for integration with BotCity Maestro SDK
import { BotMaestroSdk } from '@botcity/botcity-maestro-sdk'
// Getting parameters passed by Runner
const args = process.argv.slice(2)
const [server, taskid, token] = args
// Login with information from the Dev. Environment page
const maestro: BotMaestroSdk = new BotMaestroSdk()
maestro.login("YOUR_SERVER_HERE", "YOUR_USER_HERE", "YOUR_KEY_HERE")
// Fetching the details of the current task being executed
const executionTask: Task = await maestro.getTask(taskid)
Obtener credenciales¶
Código completo¶
from botcity.core import DesktopBot
from botcity.maestro import *
# Disable errors if we are not connected to Maestro
BotMaestroSDK.RAISE_NOT_CONNECTED = False
def main():
maestro = BotMaestroSDK.from_sys_args()
execution = maestro.get_execution()
# Accessing credentials in the Maestro
credential = maestro.get_credential(label="Credential Test", key="password")
bot = DesktopBot()
# Implement here your logic...
...
def not_found(label):
print(f"Element not found: {label}")
if __name__ == '__main__':
main()
import dev.botcity.framework.bot.DesktopBot;
import dev.botcity.maestro_sdk.BotExecutor;
import dev.botcity.maestro_sdk.BotMaestroSDK;
import dev.botcity.maestro_sdk.model.AlertType;
import dev.botcity.maestro_sdk.runner.BotExecution;
import dev.botcity.maestro_sdk.runner.RunnableAgent;
public class FirstBot extends DesktopBot implements RunnableAgent
{
public FirstBot() {
try {
setResourceClassLoader(this.getClass().getClassLoader());
} catch(Exception e) {
e.printStackTrace();
}
}
@Override
public void action(BotExecution botExecution) {
try {
BotMaestroSDK maestro = new BotMaestroSDK();
maestro.login(botExecution);
// Accessing credentials in the Maestro
String credential = maestro.getCredential("Credential Test", "password");
// Implement here your logic...
...
} catch(Exception e) {
e.printStackTrace();
}
}
private void notFound(String label) {
System.out.println("Element not found: "+label);
}
public static void main(String[] args) {
BotExecutor.run(new FirstBot(), args);
}
}
const main = async () => {
const { BotMaestroSdk } = require('@botcity/botcity-maestro-sdk')
const args = process.argv.slice(2)
const [server, taskid, token] = args
const maestro = new BotMaestroSdk()
maestro.login("YOUR_SERVER_HERE", "YOUR_USER_HERE", "YOUR_KEY_HERE")
const executionTask = await maestro.getTask(taskid)
// Accessing credentials in the Maestro
const credential = await maestro.getCredential("Credential Test", "password")
}
main()
const main = async () => {
import { BotMaestroSdk } from '@botcity/botcity-maestro-sdk'
const args = process.argv.slice(2)
const [server, taskid, token] = args
const maestro: BotMaestroSdk = new BotMaestroSdk()
maestro.login("YOUR_SERVER_HERE", "YOUR_USER_HERE", "YOUR_KEY_HERE")
const executionTask: Task = await maestro.getTask(taskid)
// Accessing credentials in the Maestro
const credential: string = await maestro.getCredential("Credential Test", "password")
}
main()
Tip
Observa las otras operaciones que podemos realizar con las credenciales utilizando el SDK de BotCity Maestro.