Las políticas, las acciones y los elementos con scripts de los flujos de trabajo requieren ejemplos de creación de scripts de las tareas comunes del flujo de trabajo. Estos ejemplos se pueden cortar, pegar y adaptar en los elementos con scripts.

Devolver todos los flujos de trabajo ejecutados por el usuario actual

El siguiente ejemplo de JavaScript obtiene todas las ejecuciones de los flujos de trabajo del servidor y comprueba si pertenecen al usuario actual.

var allTokens = Server.findAllForType('WorkflowToken');
var currentUser = Server.getCredential().username;
var res = [];
for(var i = 0; i<res.length; i++){
	if(allTokens[i].runningUserName == currentUser){
	  res.push(allTokens[i]);
	}
}
return res;

Acceder al token del flujo de trabajo actual

Puede acceder al token del flujo de trabajo actual utilizando la variable workflow. Es un objeto de tipo simple WorkflowToken que proporciona acceso a la ejecución del flujo de trabajo actual. El siguiente ejemplo de JavaScript obtiene el ID del token del flujo de trabajo y su fecha de inicio.

System.log("Current workflow run ID: " + workflow.id);
System.log("Current workflow run start date: "+workflow.startDate);

Programar un flujo de trabajo

El siguiente ejemplo de JavaScript inicia un flujo de trabajo con un conjunto de propiedades determinadas y, a continuación, lo programa para que se inicie una hora más tarde.

var workflowToLaunch = myWorkflow ;  
// create parameters 
var workflowParameters = new Properties() ;
workflowParameters.put("name","John Doe") ;
// change the task name 
workflowParameters.put("__taskName","Workflow for John Doe") ; 

// create scheduling date one hour in the future
var workflowScheduleDate = new Date() ; 
var time = workflowScheduleDate.getTime() + (60*60*1000) ;
workflowScheduleDate.setTime(time) ; var scheduledTask =
workflowToLaunch.schedule(workflowParameters,workflowScheduleDate);

Ejecutar un flujo de trabajo sobre una selección de objetos en bucle

El siguiente ejemplo de JavaScript toma la matriz de máquinas virtuales y ejecuta un flujo de trabajo sobre cada una de ellas en un bucle For. VMs y workflowToRun son entradas del flujo de trabajo.

var len=VMs.length;
for (var i=0; i < len; i++ )
{
 var VM = VMs[i];
 //var workflowToLaunch = Server.getWorkflowWithId("workflowId");
 var workflowToLaunch = workflowToRun;
 if (workflowToLaunch == null) {
 throw "Workflow not found";
 }
var workflowParameters = new Properties();
workflowParameters.put("vm",VM);
var wfToken = workflowToLaunch.execute(workflowParameters);
System.log ("Ran workflow on " +VM.name);
}