워크플로 스크립트된 요소, 작업 및 정책에는 공통 워크플로 작업의 예제 스크립팅이 필요합니다. 스크립팅된 요소에 이러한 예제를 자르고 붙여넣고 해당 요소에 맞게 조정할 수 있습니다.

현재 사용자의 모든 워크플로 실행을 반환

다음 JavaScript 예제는 서버에서 실행되는 모든 워크플로를 가져와 현재 사용자에게 속하는지 여부를 확인합니다.

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;

현재 워크플로 토큰에 액세스

workflow 변수를 사용해 현재 워크플로 토큰에 액세스할 수 있습니다. 현재 워크플로 실행에 액세스를 제공하는 WorkflowToken 유형의 개체입니다. 다음 JavaScript 예제는 워크플로 토큰의 ID와 시작 날짜를 가져옵니다.

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

워크플로 스케줄링

다음 JavaScript 예제는 지정된 속성 집합을 사용해 워크플로를 시작한 다음 한 시간 후에 시작하도록 스케줄링합니다.

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

루프의 선택한 개체에서 워크플로 실행

다음 JavaScript 예제는 가상 시스템의 어레이를 가져와 For 루프의 각 어레이에서 워크플로를 실행합니다. VMsworkflowToRun은 워크플로 입력입니다.

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