Create Manual Work Item (Task)

API Type

REST

HTTP Method

POST

Description

Creates a human task (manual work item) for the specified activity instance ID.

Good to Know

  • You must send the activity instance ID, WorkToPerform, user ID, task owner, duration, and ClientData (optional) parameters for this API call.
  • To call this method, the API account user must have the access right, Create a Task.
  • The created task is not dependent on any other tasks.

URL Format (OnPremises, Private Cloud)

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

URL Format (OnDemand)

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

Request Parameters

NameDescription
NoneNot Applicable

Request Body Properties

NameDescription

ActivityInstanceID

Description:
The unique ID for an activity instance.
Type
string
Allowed Values:
A valid activity instance ID.

BusinessTime

Description:
Determines whether the system calculates the duration using your business time calendar.
Type
bool
Allowed Values:
  • True - The system calculates duration using business time.
  • False - The calculates the duration based on real time.

ClientData

Description:
Specifies the client data, which identifies a client for AgilePoint Server.
Type
string
Allowed Values:
A string that contains the client data.

If this value is null, the system will keep existing client data. Otherwise the relevant data is overwritten.

Length

Description:
Specifies the length of time duration.
Type
string
Allowed Values:
A valid time duration length.

Unit

Description:
Specifies the unit.
Type
string
Allowed Values:
A valid unit.

UserID

Description:
Specifies the user associated with the work item.
Type
string
Allowed Values:
A valid user ID.

WorkToPerform

Description:
Represents the task that performed by the participants of the activity.
Type
string
Allowed Values:
A valid work to perform name.

These properties are based on the class CreateWorkItemHelper

JavaScript Code Example

$("#btnCreateWorkItem").click(function () {

  var JSONObject = { 
    ActivityInstanceID: "0DB05C1A1BAB445895CCF46E096AECDD",
                     WorkToPerform: "Test", 
                     UserID: "mydomain\\brian.lucas",
                     Length: "2",
                     Unit: "DAY",
                     BusinessTime:true,
                     ClientData: null
  };
  $.ajax({
    url: "https://mydomain:9011/AgilePointServer/Workflow/CreateWorkItem",
    data: JSON.stringify(JSONObject)
  });

});

Java Code Example

public String CreateWorkItem() {

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

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

  JSONObject postData = new JSONObject();
  
    postData.put("ActivityInstanceID",
      "0E11FFE63E594128B662CD27A259E4B3");
    postData.put("SourceWorkItemID", "0E11FFE63E594128B662CD27A259E4B3");
    postData.put("WorkToPerform", "New WorkItem");
    postData.put("UserID", "mydomain\\susan.miller");
    postData.put("Length", "2");
    postData.put("Unit", "DAY");
    postData.put("BusinessTime", "true");
    postData.put("bDependent", "true");
    postData.put("ClientData", "");
    return ops.POSTMethod(URI, postData.toString());
  return "";
}

C# Code Example

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

    string jsonRequestData = "{
      \"SourceWorkItemID\":\"E48644178C514A95AB457F00A35F1550\",
      \"WorkToPerform\":\"Test123\",
      \"UserID\":\"MYDOMAIN\administrator\",
      \"Length\":\"2\",
      \"Unit\":\"DAY\",
      \"BusinessTime\":\"true\",
      \"bDependent\":\""+true+"\",
      \"ClientData\":\"" + null + "\"}";

    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 {\"ActivityInstanceID\":\"827028D244B4F4D9117757491D0C4F5A\",
                         \"WorkToPerform\":\"Test1234\",
                         \"UserID\":\"mydomain\\brian.lucas\",
                         \"Length\":\"2\",
                         \"Unit\":\"DAY\",
                         \"BusinessTime\":\"true\",
                         \"ClientData\":\"null\"}
                         https://mydomain:9011/AgilePointServer/Workflow/CreateWorkItem

Output

WFEvent object that provides the status of the transaction. The possible statuses are:

  • Sent - Indicates event has been sent to engine for processing.
  • Failed - Indicates event failed to process.
  • Processed - Indicates event has been processed successfully.
  • Canceled - Indicates event was canceled.
  • Deferred - Indicates event does not need to be sent immediately.

JSON Response Body Example

{
  "ActivityInstID": "0DB05C1A1BAB445895CCF46E096AECDD",
  "AutoStart": true,
  "CustomAttributes": null,
  "Diagnostic": true,
  "EndDate": "\/Date(1394148914232+0000)\/",
  "Entries": 1,
  "Error": null,
  "EventID": "B7A7115262B6491CB8809E6AFF31E640",
  "EventName": "CreateWorkItem",
  "HighPriority": true,
  "ParamsXml": "<?xml version=\"1.0\" encoding=\"utf-8\"?>
                <WFEvent>
                  <param name=\"ExpectedTime\" 
                            value=\"2 Day(s)(business time)\" \/>
                  <param name=\"HighPriority\" value=\"True\" \/>
                  <param name=\"ActivityInstID\" 
                            value=\"0DB05C1A1BAB445895CCF46E096AECDD\" \/>
                  <param name=\"ProcInstID\" 
                            value=\"B7F0ACFA610349B4BF10A4DAB8E93458\" \/>
                  <param name=\"UserID\" value=\"mydomain\\brian.lucas\" \/>
                  <param name=\"waitWorkPerformed\" value=\"False\" \/>
                  <param name=\"workPerformer\" value=\"Test\" \/>
                  <param name=\"Carbon\" value=\"False\" \/>
                  <param name=\"WorkItemID\" 
                            value=\"D02F4ADD314B46DF91CE32D42B3190CB\" \/>
                <\/WFEvent>",
  "ParentProcInstID": "",
  "ProcDefID": "",
  "ProcInstID": "B7F0ACFA610349B4BF10A4DAB8E93458",
  "ProcInstName": "",
  "Sender": "mydomain\\administrator",
  "SentDate": "\/Date(1394148914227+0000)\/",
  "SourceWorkItemID": "",
  "Status": "Sent",	
  "UserID": "mydomain\\brian.lucas",
  "WorkItemID": "D02F4ADD314B46DF91CE32D42B3190CB",
  "WorkObjectID": "",
  "WorkObjectInfo": ""
}

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.