task_ci table - Rest API - GET using task.start_date is not working.

donsalves20
Kilo Contributor


Hello All,

My requirement is to programmatically find any changes for an ci (name=serverxyz) and the corresponding change's planned start date is between a date range. Per the guide, to fetch change information based on cis, the task_ci table should be used. However, querying on dates is not working on this table.

My REST query is as following:

table - task_ci

sysparm_query=ci_item.name=serverxyz^task.start_date>=2025-04-25 00:00:00^task.start_date<=2025-04-26 23:59:59^task.sys_class_name=change_request

sysparm_fields=ci_item.name,task.number,task.short_description,task.start_date,task.end_date,ci_item.manufacturer.name


The above is returning the following row where the start_date is 10 May of the returned record, but the query above states the start_date between 25th Apr and 26th Apr.

{
"result": [
{
"task.start_date": "2025-05-10 08:00:00"
"task.end_date": "2025-05-11 18:00:00",
"ci_item.name": "serverxyz",
"task.number": "CHG0030055",
"task.short_description": "Deployment of Changes on serverxyz,
"ci_item.manufacturer.name": "Amazon",

}
]
}

I've also tried with the gs.dateGenerate function.

sysparm_query=ci_item.name=serverxyz^task.start_date>=javascript&colon;gs.dateGenerate('2025-04-25','00:00:00')^task.start_date<=javascript&colon;gs.dateGenerate('2025-04-26','23:59:59')^task.sys_class_name=change_request

But, I get the same result.

{
"result": [
{
"task.start_date": "2025-05-10 08:00:00"
"task.end_date": "2025-05-11 18:00:00",
"ci_item.name": "serverxyz",
"task.number": "CHG0030055",
"task.short_description": "Deployment of Changes on serverxyz,
"ci_item.manufacturer.name": "Amazon",

}
]
}


It feels like that the date filters are being ignored on the task_ci table.

Any guidance will be appreciated.

Thank you.

 

 

1 REPLY 1

J Siva
Tera Sage

Hi @donsalves20 

It seems like you are using incorrect query in the sysparm_query.

Try the below one.

 

sysparm_query

Using CI sys id:

task.sys_class_name=change_request^task.ref_change_request.start_dateBETWEENjavascript&colon;gs.dateGenerate('2025-04-01','00:00:00')@javascript&colon;gs.dateGenerate('2025-04-10','23:59:59')^ci_item=<SYS ID OF YOUR CI>

Using CI name:

task.sys_class_name=change_request^task.ref_change_request.start_dateBETWEENjavascript&colon;gs.dateGenerate('2025-04-01','00:00:00')@javascript&colon;gs.dateGenerate('2025-04-10','23:59:59')^ci_item.name=<Name OF YOUR CI>

 

 sysparm_fields

ci_item.name,task.number,task.short_description,ci_item.manufacturer.name,task.ref_change_request.start_date,task.ref_change_request.end_date

Note:
Modify the dates & ci sys_id/name as required. It'll work.

 

Regards,
Siva