La presentación de un flujo de trabajo puede definir restricciones para los valores que puede transferir a los parámetros de entrada del flujo de trabajo, como una lista predefinida de los valores o un determinado rango de valores. Para asegurarse de que el flujo de trabajo se ejecute correctamente, debe validar los valores que transfiere a los parámetros de entrada del flujo de trabajo respecto a la definición de la presentación del flujo de trabajo.

Antes de empezar

Compruebe que haya importado el paquete de ejemplo de flujos de trabajo a Orchestrator. El paquete se incluye en el archivo ZIP de aplicaciones de ejemplo de Orchestrator que puede descargarse desde la página de documentación de Orchestrator.

Por qué y cuándo se efectúa esta tarea

Cuando integra flujos de trabajo en aplicaciones personalizadas, quizá deba crear un asistente en el que introducir los valores para los parámetros de entrada del flujo de trabajo cuando lo ejecute. Con el uso del servicio Presentación del flujo de trabajo, puede crear una instancia de la presentación de un flujo de trabajo y transferir valores para sus parámetros de entrada en partes que correspondan a las diferentes pantallas del asistente. Puede validar los valores que transfiere a los parámetros de entrada respecto a las restricciones definidas en la presentación del flujo de trabajo.

Procedimiento

  1. Recupere la definición del flujo de trabajo que desee ejecutar realizando una solicitud GET en la URL que contiene la definición del flujo de trabajo:
    GET https://{host_orchestrator}:{puerto}/vco/api/workflows/{ID_flujo_trabajo}/

    Recibirá la definición del flujo de trabajo en el cuerpo de la respuesta de la solicitud. En la definición del flujo de trabajo, puede ver los parámetros de entrada del flujo de trabajo, la descripción del flujo de trabajo y otra información.

  2. Recupere la definición de la presentación del flujo de trabajo realizando una solicitud GET en su URL:
    GET https://{host_orchestrator}:{puerto}/vco/api/workflows/{ID_flujo_trabajo}/presentation/
  3. En el cuerpo de respuesta de la solicitud, examine la definición de la presentación del flujo de trabajo para ver si hay restricciones en los valores que se pueden transferir a los parámetros de entrada.

    Por ejemplo, un parámetro de entrada puede tener una lista predefinida de valores en la que elegir.

  4. Cree una instancia de la presentación del flujo de trabajo realizando una solicitud POST en la URL de las instancias de la presentación:
    POST https://{orchestrator_host}:{puerto}/vco/api/workflows/{ID_flujo_trabajo}/presentation/instances/
  5. Proporcione un elemento execution-context en el cuerpo de solicitud para crear una instancia de la presentación.

    Puede transferir una instancia de execution-context vacía o execution-context con valores solo para algunos de los parámetros de entrada.

  6. Para transferir valores a los parámetros de entrada por partes, realice tantas solicitudes POST o PUT como sea necesario en la URL que contiene la instancia de la presentación:
    PUT https://{host_orchestrator}:{puerto}/vco/api/workflows/{ID_flujo_trabajo}/presentation/instances/{ID_ejecución}/
  7. Revise el cuerpo de respuesta de la solicitud POST o PUT que ha realizado.

    Si los valores que ha transferido a los parámetros de entrada son válidos, encontrará un atributo valid="true" en la etiqueta execution. Si la presentación es válida, puede tomar los valores que se enumeran en el elemento out-parameters de la respuesta y transferirlos como valores a los parámetros de entrada cuando se ejecute el flujo de trabajo.

  8. Si los valores de los parámetros de entrada son válidos, ejecute el flujo de trabajo realizando una solicitud POST en la URL que contiene las ejecuciones del flujo de trabajo:
    POST https://{host_orchestrator}:{puerto}/vco/api/workflows/{ID_flujo_trabajo}/executions/
  9. Proporcione valores válidos para los parámetros de entrada del flujo de trabajo en un elemento execution-context.

Ejecute el flujo de trabajo Hola a todos validando sus parámetros de entrada

Puede ejecutar el flujo de trabajo Hola a todos validando sus parámetros de entrada respecto a las definiciones de su presentación.

  1. Realice una solicitud GET en la URL que contiene la definición del flujo de trabajo Hola a todos:

    GET https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/

    Recibirá la definición del flujo de trabajo en el cuerpo de la respuesta de la solicitud:

    <xml version="1.0" encoding="UTF-8" standalone="yes">
    <workflow xmlns="http://www.vmware.com/vco" customized-icon="false"
       href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/">
       <relations>
          <link rel="up"
              href="https://localhost:8281/vco/api/inventory/System/Workflows/Samples/HelloWorld/" />
          <link rel="add"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/executions/" />
          <link rel="down"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/executions/" />
          <link rel="down"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/" />
          <link rel="down"
      	       href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/tasks/" />
          <link rel="down"
              href="https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/icon/" />
       </relations>
       <input-parameters>
          <parameter name="name" type="string" />
       </input-parameters>
       <output-parameters>
          <parameter name="message" type="string" />
       </output-parameters>
       <name>Send Hello</name>
    	  <description></description>
    </workflow>
  2. Realice una solicitud GET en la URL que contiene la definición de la presentación del flujo de trabajo:

    GET https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/
  3. Realice una solicitud POST en la URL que contiene las instancias de ejecución de la presentación del flujo de trabajo:

    POST https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/instances/ 

    Proporcione una instancia vacía de execution-context solo para crear una instancia de la presentación sin proporcionar ningún valor para los parámetros de entrada:

    <execution-context xmlns="http://www.vmware.com/vco"/>

    El cuerpo de respuesta contiene mensajes de error adjuntos a cada campo, que indican que los valores de los parámetros de entrada no son válidos.

    .......
    <fields>
      <field type="string" hidden="false" id="name">
        <display-name>name</display-name>
        <description>name</description>
        <messages>
           <message severity="ERROR" code="VCO-CNS0002">
              <Summary>
                    The minimum number of characters allowed for this field is 3.0
              </Summary>
           </message>
        </messages>
        <constraints>
           <number-range max="15.0" min="3.0" />
        </constraints>
    .......
  4. Realice una solicitud POST en la URL que contiene la instancia de la presentación particular:

    POST https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/presentation/instances/888080808080808080808080808080803F8080800132145338690643f66a027ec/

    En el cuerpo de la solicitud, proporcione valores para los parámetros de entrada:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     <execution-context xmlns="http://www.vmware.com/vco">
      <parameters>
        <parameter name="name" type="string">
          <string>John Smith</string>
        </parameter>
      </parameters>
    </execution-context>

    En el cuerpo de respuesta de la solicitud, puede comprobar si los valores de los parámetros de entrada son válidos:

    <execution started-by="vcoadmin" .... valid="true".....>
  5. Si la presentación es válida, ejecute el flujo de trabajo realizando una solicitud POST en la URL que contiene las ejecuciones del flujo de trabajo:

    POST https://localhost:8281/vco/api/workflows/CF808080808080808080808080808080DA808080013086668236014a0614d16e1/executions/

    En el cuerpo de la solicitud, transfiera valores a los parámetros de entrada del flujo de trabajo. Utilice los mismos valores que se devuelven como parámetros de salida de la presentación del flujo de trabajo o utilice directamente el cuerpo de la última solicitud POST realizada en la presentación del flujo de trabajo.