Hello Everyone,
A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it.
Requirement:-
One of our customers wants to track the count as how many times an Issue is re-opened. To facilitate this, we recommended creating a custom number field named 'Re-open Count' and implemented custom functions along with Business rules in Zoho Projects.
Below is the custom function code for reference.
Custom function code:-
//TODO: Please create a connection for the Zoho Projects service with the scopes scopes: scopes:zohoprojects.Bugs.ALL
Click this link below to learn how to create the connection.
portalId = "YYYYYY";
getBugStatusTransition = invokeurl
[
url :endPoint + portalId + "/projects/" + projectId + "/bugs/" + issueId + "/statustransition"
type :GET
connection:"XXXXXXX"
];
size = getBugStatusTransition.toJSONList().size() - 1;
updatedStatusName = getBugStatusTransition.toJSONList().get(size).get("updated_status").get("name");
previousStatusName = getBugStatusTransition.toJSONList().get(size).get("previous_status").get("name");
updateBugParam = Map();
if(updatedStatusName.containsIgnoreCase("Re Open"))
{
if(reopenCount!=null){
reopenCount = reopenCount.toNumber() + 1;
} else {
reopenCount = 0;
}
updateBugParam.put("NLONG1",reopenCount);
updateBugStatus = invokeurl
[
url :endPointRest + portalId + "/projects/" + projectId + "/bugs/" + issueId + "/"
type :POST
parameters:updateBugParam
connection:"XXXXXXX"
];
}
Make sure to replace XXXXXXX with the Zoho Projects connections link name and YYYYYY with your portal Id. Screenshot of the list of parameters to be mapped and sample Business rule is attached for reference.
We hope you found this post useful. If you have any questions or wondering if your requirement could be met using custom functions, feel free to share them in the comments section below.