Workload Management Service

WLM Integration Steps

  1. Create the required Azure AD security groups - Example: TC-SmallVesselRegistrar-[DEV/TEST/ACC/PROD]

  2. Add your application users to the security groups

  3. Depending on the environment you are targeting, the WLM API / Permission name will be different. i.e. [NCD/NCT/NCA/PCP] Workload Management Service API [DEV/TEST/ACC/PROD]:

  4. Register your application with the Microsoft Identity Platform [Create an app registration], and add the API permissions your application requires from WLM.

    • WorkItem.CreateUpdate.All - Allow the application to have create/update access to all work item data.

    • WorkItem.Read.All - Allow the application to have read-only access to all work item data.

  5. Grant admin consent for your application’s API permissions (Note: This can only be done by the cloud admin team, please create a SMART IT ticket and assign it to Cloud team)

  6. Register your line of business in the List of value service, contact the MOLE team. [NCD/NCA/NCT/PCP]

    • Contacts: @Walter Hoban , @Xia W , @yiliu

    • List of value type: LineOfBusiness

      • You can use the following query to get information on the structure of the JSON Object:

        SELECT * FROM c WHERE c.ListOfValueType like '%LineOfBusiness%'
  7. To add a new line of buisiness, you can use the API -dev of LOV. Make sure you enter the correct id (you can validate in the database, which ID is not used) The id and the name become the key for future updates. Your line of buisiness id will be used with the WLM.

  8. Submit a request to Team Kraken [TC.F NCR MAACE Team Kraken / Équipe Kraken CEMAA RCN F.TC NCRMAACETeamKraken-EquipeKrakenCEMAARCN@tc.gc.ca] to integrate with WLM

    • Provide the security group names and what type of operation each group requires (App Role):

      • Readers

      • Writers

    • Provide the application name (App Registration Name)

    • Which environment you want to integrate your app with [NCD/NCA/NCT/PCP]

     

Note: In your app registration, it will be important to add permission for LOV.

If your users don’t have the Application developer role, grant access will be required. (You can open a ticket to the cloud team to grant this permission)

 

Application Configuration [Authentication/Authorization]

Workload Management Service uses the Microsoft Identity Platform to secure it’s endpoints. If you followed the previous steps sequentially you should have your application registered with the MIP and the only remaining step is to configure your application to pass the JWT Bearer token as part of any communication with any of the WLM endpoints.

Workload Management Service Access

For the current available endpoints you can consult the OpenAPI Specification in the following table:

Apart from the contents of the predefined models, Workload Management Service does not enforce what you store for your specific line of business service. It segregates your data based on the Line of business id that you defined in the list of value service in the initial setup steps.

When making your initial call to WLM, you need to make sure you are passing the following:

  • Line of business id

  • Work Item Status Model (Refer to step 5 for the values) - Required for CRSM integration.

The values for the work item status codes should be verified with the MOLE team, WLM will enforce this in the future. Refer to step 5 for how to create/integrate your WLM status codes.

Even though the following fields are not enforced, it is worth mentioning that this is where you line of business specific data will reside. Both of the fields are JSONB columns, that can contain complex objects.

  • initialDetail - In WLM this will be your initial snapshot of the work item. It will not be updated after the initial creation. i.e. PUT method call.

  • detail - Initially this will be identical to initialDetail, but will contain any subsequent updates to your LOB data.