Click here to Skip to main content
11,707,470 members (60,913 online)
Click here to Skip to main content

Tagged as

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

, 6 Jun 2014 CPOL 6.3K 2
Rate this:
Please Sign up or sign in to vote.
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.

<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.

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.

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.

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.

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)

Share

About the Author

Melick
Sri Lanka Sri Lanka
No Biography provided

You may also be interested in...

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
memberMember 42605968-Dec-14 23:15 
QuestionWorking fine from console but not from embedded javascript file Pin
Alexander Müller11-Nov-14 21:33
memberAlexander Müller11-Nov-14 21:33 

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

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

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150819.1 | Last Updated 6 Jun 2014
Article Copyright 2014 by Melick
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid