Lanzar Job desde Macro – UiPath

Quizás si ya has hecho diferentes automatizaciones te has enfrentado al caso donde requieres automatizar un proceso donde su disparador es un correo electrónico, para realizar esto, una alternativa es crear u disparador desde Power Automate de Microsoft si usas un correo de la suite de Microsoft, esta alternativa es muy útil si tu orquestador esta expuesto a internet, ya sea que ese desplegado en aws, Azure u otro servicio.

En esta oportunidad quiero explicar como conectarnos a nuestro orquestador y disparar un proceso mediante una macro, esta macro se puede desplegar en Outlook para ser ejecutada mediante una regla. Esta utilidad sirve tanto si tienes un orquestador expuesto a Internet como si se encuentra dentro de una red privada, teniendo en cuenta que el equipo donde despliegues la maro tenga alcance al orquestador si este se encuentra en una red interna.

Para realizar este proceso debemos tener Outlook instalado sincronizado al menos con una cuenta de correo.

Para comenzar accedemos al panel de macros en Outlook, para ellos estando sobre la aplicación Outlook presionas Alt F11.

Sub LanzarJob()

' Autenticación
    Dim xmlhttp As Object
    Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
    
    Dim body As String
    body = "{    ""tenancyName"" : ""Default"",    ""usernameOrEmailAddress"" : ""User"",    ""password"" : ""password""}"
    
    Dim myurl As String
    myurl = "https://orquestador.com/api/Account/Authenticate"
    
           
    xmlhttp.Open "POST", myurl, False
    
    xmlhttp.setRequestHeader "Content-type", "application/json"
    
    xmlhttp.Send body
    
    MsgBox (xmlhttp.responseText)
    
    Dim Json As Object
    Set Json = JsonConverter.ParseJson(xmlhttp.responseText)
    
    Dim token As String
    token = "Bearer " + Json("result")
    
    '-------------------------------------------------------------------------------
' Consultar Reles ???
    ' - Json
    ' https://orquestador.com/odata/Releases/?$filter=Name%20eq%20%27Robot_Environment%27

' Metodo Lanzar Job

    Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
    
    myurl = "https://orquestador.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
    
    body = "{   ""startInfo"": {    ""ReleaseKey"": ""3j8fh148-2ghz-546g-5c82-1h2f056f16g4"",   ""RobotIds"": [],   ""JobsCount"": 0,   ""Strategy"": ""All"",  ""InputArguments"": ""{\""Value2\"":20,\""Value1\"":33}""   }}"
    
    xmlhttp.Open "POST", myurl, False
    
    xmlhttp.setRequestHeader "Content-type", "application/json"
    xmlhttp.setRequestHeader "Authorization", token
    
    xmlhttp.Send body
    
    MsgBox (xmlhttp.responseText)

End Sub

Quiero recomendar las paginas donde me apoye para construir este script.

https://github.com/VBA-tools/VBA-JSON

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *