Click here to Skip to main content
15,881,709 members
Articles / All Topics
Article

Working with Workflow Service in JavaScript (JSOM) in SharePoint 2013 / Office 365 (SharePoint Online) – Part 1 (Iterate Workflow Deployments and Subscriptions)

Rate me:
Please Sign up or sign in to vote.
4.50/5 (2 votes)
6 Jun 2014CPOL 20.8K   3   2
Iterate Workflow Deployments and Subscriptions

Introduction

SharePoint 2013 provides a set of JavaScript libraries that can be used to manage workflows. First, you need to refer to sp.workflowservices.js which is available in _layouts/15/sp.workflowservices.js.

HTML
<script src="/_layouts/15/sp.workflowservices.js"></script>

Following are few examples of using the library:

  1. Get all workflows deployed to current web
  2. Get all workflow subscriptions attached to a list
  3. Get all workflow subscriptions in current web
  4. Get all workflow subscriptions for workflow definition

Apart from these things, you can get subscriptions by:

  • enumerateSubscriptionsByEventSource
  • enumerateSubscriptionsByListAndParentContentType
  • enumerateSubscriptionsByListWithContentType

Get all Workflows deployed to current web.

JavaScript
var context = SP.ClientContext.get_current();
var web = context.get_web();
var sMgr =new SP.WorkflowServices.WorkflowServicesManager(context, web);
var wDefs = sMgr.getWorkflowDeploymentService().enumerateDefinitions();
context.load(wDefs);

context.executeQueryAsync(
    function(){
        var e = wDefs.getEnumerator();
        while (e.moveNext()) {
            var def = e.get_current();
            alert(def.get_displayName() + " id: " + def.get_id());
        }
    },
    function(a,b){
        alert(args.get_message());
    }
);

Get all workflow subscriptions attached to a list.

For this, you need to have List Guide related to relevant list.

JavaScript
var listGuid = "93A65752-DB60-496F-B9F5-CD864050DB39";     
var context = SP.ClientContext.get_current();
var web = context.get_web();
var sMgr =new SP.WorkflowServices.WorkflowServicesManager(context, web);
var sservice = sMgr.getWorkflowSubscriptionService();
var ssubs = sservice.enumerateSubscriptionsByList(listGuid);
context.load(ssubs);
context.executeQueryAsync(
   function(){
       var e = ssubs.getEnumerator();
         while(e.moveNext())
         {
           var c =  e.get_current();
           alert("Name :" + c.get_name() + " sID: " + c.get_id());
         };

   },
   function(){ alert("error")}
;

Get all workflow subscriptions in current web.

JavaScript
var context = SP.ClientContext.get_current();
var web = context.get_web();
var sMgr =new SP.WorkflowServices.WorkflowServicesManager(context, web);
var sservice = sMgr.getWorkflowSubscriptionService();
var ssubs = sservice.enumerateSubscriptions();
context.load(ssubs);
context.executeQueryAsync(
    function(){
        var e = ssubs.getEnumerator();
          while(e.moveNext())
          {
            var c =  e.get_current();
            alert("Name :" + c.get_name() + " sID: " + c.get_id());
          };
 
    },
    function(){ alert("error")}
);

Get all workflow subscriptions for workflow definition.

JavaScript
var wfdefinitionId = "c791c3cb-abcd-4022-bc06-6fcc6ca4f6bc"; 
var context = SP.ClientContext.get_current();
var web = context.get_web();
var sMgr =new SP.WorkflowServices.WorkflowServicesManager(context, web);
var sservice = sMgr.getWorkflowSubscriptionService();
var ssubs = sservice.enumerateSubscriptionsByDefinition(wfdefinitionId);
context.load(ssubs);
context.executeQueryAsync(
    function(){
        var e = ssubs.getEnumerator();
          while(e.moveNext())
          {
            var c =  e.get_current();
            alert("Name :" + c.get_name() + " sID: " + c.get_id());
          };
 
    },
    function(){ alert("error")}
);

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Sri Lanka Sri Lanka
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionWorking with Workflow Service in JavaScript (JSOM) in SharePoint 2013 / Office 365 (SharePoint Online) – Part 1 Pin
Member 42605968-Dec-14 23:15
Member 42605968-Dec-14 23:15 
QuestionWorking fine from console but not from embedded javascript file Pin
Alexander Müller11-Nov-14 21:33
Alexander Müller11-Nov-14 21:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.