Les éléments, actions et stratégies en script du workflow réclament d'écrire sous forme de script les exemples de tâches courantes. Vous avez la possibilité de couper, coller et adapter ces exemples dans vos éléments en script.

Renvoyer tous les workflows exécutés par l'utilisateur actuel

L'exemple JavaScript suivant récupère toutes les exécutions de workflow auprès du serveur et vérifie si elles appartiennent à l'utilisateur actuel.

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;

Accéder au jeton du workflow en cours

Vous pouvez accéder au jeton du workflow en cours en utilisant la variable workflow. Il s'agit d'un objet de type WorkflowToken qui permet d'accéder à l'exécution de workflow actuelle. L'exemple JavaScript suivant obtient l'identifiant du jeton de workflow et sa date de début.

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

Planifier un workflow

L'exemple JavaScript suivant démarre un workflow avec un jeu de propriétés donné, puis planifie son exécution une heure plus tard.

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);

Exécuter un workflow sur une sélection d'objets en boucle

L'exemple JavaScript suivant prend le tableau des machines virtuelles et exécute un workflow sur chacune d'elles dans une boucle For. VMs et workflowToRun constituent des entrées du workflow.

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);
}