VRO: Advanced Workflow

1 minute read

Description:

This post will cover each of my previous posts about vRealize Orchestrator so far. It combines all of them into an advanced workflow that does the following:

To Resolve:

  1. Add REST hosts and operations to VRO.

  2. Scan SN response into variables.

  3. Send REST API call to a software to get a users identity information.

  4. Parse the response and send the request to a different endpoint on that software.

  5. Update the Service Now request to “waiting”.

  6. Write the information to an attachment.

  7. Workflow 1 ends with the following JSON being created and stored in VRO itself as a resource element:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    {
       "REQ0000006": [{
          "12_Comment": "Permission = CompanyEmployee, Status = Waiting",
          "12": "waiting",
          "11_Comment": "Permission = CompanyEmployee-Dev, Status = Waiting",
          "11": "waiting",
          "User_Email": ["user1@domain.com"],
          "User_ID": "122365465",
          "User_GroupsRequested": ["CompanyEmployee", "CompanyEmployee-Dev"],
          "SN_RequestNumber": "REQ0000006",
          "SN_Reason": "Test 2/3",
          "SN_SysID": "71141da7dbae08140ed7dbf0ce9615645645115572",
          "Company_RequestNumberArray": [12, 11],
          "LastUpdatedDate": "2020-1-30",
          "LastUpdatedTime": "14:42:21 PM"
       }],
       "REQ0000007": [{
          "14_Comment": "Permission = CompanyEmployee, Status = Waiting",
          "14": "waiting",
          "13_Comment": "Permission = CompanyEmployee-Test, Status = Waiting",
          "13": "waiting",
          "User_Email": ["user2@domain.com"],
          "User_ID": "122365465",
          "User_GroupsRequested": ["CompanyEmployee", "CompanyEmployee-Test"],
          "SN_RequestNumber": "REQ0000007",
          "SN_Reason": "test 3/3",
          "SN_SysID": "71141da7dbae08140ed7dbf0ce9615645645115572",
          "Company_RequestNumberArray": [14, 13],
          "LastUpdatedDate": "2020-1-30",
          "LastUpdatedTime": "14:43:20 PM"
       }]
    }
    
  8. Now a different workflow (workflow 2) will Parse attachment and for each request …

    • And for each item in the request …

    • Do a lookup to external approval system via REST call and if the item is completed, do nothing. If the item is approved, call another workflow to perform an operations and mark the item as completed.

    • Once all items are completed under a request, close the request in Service Now

  9. Workflow 3: Exists only to be called from workflow two. It consists of a Jenkins job that takes multiple input parameters.

Comments