Query Work List (Tasks) Using SQL

API Type

REST

HTTP Method

POST

Description

Retrieves a list of human tasks (manual work items) using a specified WHERE clause of an SQL query expression.

Good to Know

  • Only pass the WHERE clause without WHERE keyword, not the whole query.

URL Format (OnPremises, PrivateCloud)

https://[domain]:[port]/AgilePointServer/Workflow/QueryWorkListUsingSQL

URL Format (OnDemand)

https://[domain]:[port]/AgilePointService/Workflow/QueryWorkListUsingSQL

Request Parameters

Name Description
None Not Applicable

Request Body Properties

Name Description

sqlWhereClause

Function:
The where clause of the SQL statement you want to query.
Type
string
Accepted Values:
The where clause of a SQL statement.

JavaScript Code Example

$("#btnQueryWorkListUsingSQL").click(function () {
  
  var JSONObject = { 
    sqlWhereClause: "WF_MANUAL_WORKITEMS.USER_ID='mydomain\\lilly.allen' 
                             and WF_MANUAL_WORKITEMS.STATUS 
                             in ('New', 'Assigned') " 
  };
  $.ajax({
    url: "https://mydomain:9011/AgilePointServer/Workflow/QueryWorkListUsingSQL",
    data: JSON.stringify(JSONObject)
  });
  
});

Java Code Example

public String QueryWorkListUsingSQL() {

  String URI = "https://mydomain:9011/AgilePointServer/Workflow/QueryWorkListUsingSQL";

  HTTPOperations ops = new HTTPOperations(domain, userName, 
                       password, appID, locale);

  JSONObject postData = new JSONObject();
  
    String sqlWhereClause = "WF_MANUAL_WORKITEMS.USER_ID='mydomain\\lilly.allen' and 
                             WF_MANUAL_WORKITEMS.STATUS in ('New', 'Assigned')";
    postData.put("sqlWhereClause", sqlWhereClause);

    return ops.POSTMethod(URI, postData.toString());
  return "";
}

C# Code Example

public string QueryWorkListUsingSQL()
  {
    string URI = "https://mydomain:9011/AgilePointServer/Workflow/QueryWorkListUsingSQL";

    string jsonRequestData = "{
      \"sqlWhereClause\":\"WF_MANUAL_WORKITEMS.USER_ID='MYDOMAIN\\\\administrator' and 
      WF_MANUAL_WORKITEMS.STATUS in ('New', 'Overdue') \"}";
           
    HTTPOperations ops = new HTTPOperations(domain, this.userName, 
                         password, appID, locale);

    return ops.POSTMethod(URI, jsonRequestData);
  }

cURL Code Example

Note: The authorization code is an example. You must generate your own authorization code in base64 encoded format with the syntax Domain\Username:Password.
curl --header "Content-Type: application/json" 
                         --header "Authorization:Basic QVAtNDI0XEFkbWluOnBhc3M=" 
                         --request POST 
                         --data {\"ColumnName\":\"PROC_INST_ID\",
                         \"Operator\":\"EQ\",
                         \"WhereClause\":\"827028D244B4F4D9117757491D0C4F53\",
                         \"IsValue\":\"true\"} 
                         https://mydomain:9011/AgilePointServer/Workflow/QueryWorkListUsingSQL

Output

A list of work items which match the where condition.

JSON Response Body Example

[{
  "ActivatedDate": "\/Date(928149600000+0000)\/",
  "ActivityInstID": "249CCC6F0B48470B8668BF4567B67C75",
  "ApplName": "MyApplication",
  "AssignedDate": "\/Date(1390852380123+0000)\/",
  "BeingProcessed": false,
  "CancelledDate": "\/Date(928149600000+0000)\/",
  "ClientData": "",
  "CompletedDate": "\/Date(928149600000+0000)\/",
  "CreatedDate": "\/Date(1390852380123+0000)\/",
  "DefName": "BudgetRequest",
  "DisplayName": "Waiting for Patient to perform Intake",
  "DueDate": "\/Date(1390938780000+0000)\/",
  "DueHandled": false,
  "LastModifiedBy": "mydomain\\lilly.allen",
  "LastModifiedDate": "\/Date(1390852390623+0000)\/",
  "Name": "Intake",
  "OriginalUserID": "mydomain\\lilly.allen",
  "Pending": true,
  "PoolID": "",
  "PoolInfo": "",
  "Priority": "Normal",
  "ProcDefID": "EEA1DE90DC3144E3A0D8B9487BBE44D4",
  "ProcInstID": "A8D80F3FEB6C4E74A4D001036E30E5D6",
  "ProcInstName": "BudgetRequest-1\/27\/2014 11:49:07 AM",
  "ResolveParticipant": "",
  "RestrictionType": "  ",
  "Session": 2,
  "SourceWorkItemID": "",
  "Status": "Assigned",
  "UserID": "mydomain\\lilly.allen",
  "WaitWorkPerformed": true,
  "WorkItemID": "287524CC39B34DC3BDD73275BA7769DE",
  "WorkObjectID": "459BCC8A8A36444DAA7077CF0F6C1254"
}]

Supported Versions

AgilePoint v5.0 R2 and higher

Code Examples in the AgilePoint NX Documentation

The AgilePoint NX Product Documentation is intended as a basic reference to help you understand how to complete basic coding tasks, such as make API or JavaScript method calls. Code examples that show specific use cases, the solutions to specific business problems, or detailed implementation scenarios are outside the scope of the AgilePoint NX Product Documentation. For specific and/or advanced types of examples that may better meet your requirements, AgilePoint provides several resources:

  • AgilePoint Community Forums - A free, AgilePoint-moderated, crowd-sourcing user forum where you can ask questions about specific techniques, the solutions to use cases, workarounds, or other topics that may not be covered in the Product Documentation.
  • Professional Services - If you can not find the information you need for your specific business problem, mentoring is available through AgilePoint Professional Services.
  • Personalized Training - AgilePoint can provide personalized training for your organization. To request personalized training, contact AgilePoint Sales.