[Solved] Adding comments and work notes via JSONv2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-31-2014 06:55 AM
Hi,
Solution posted at the end.
Apologies for the length of this; I want to be thorough in what I've tried.
I'm struggling to INSERT comments and work notes for incidents via JSONv2. The user account I am using for this is the creator of the incident and can edit comments and work notes through the web interface without issue.
The following works for a JSONv2 GET request to query for an incident:
Uri Format: https://instancename.service-now.com/incident.do?JSONv2&sysparm_query=number=INC1234567
(it also works when using sys_id=580b112cf95a6500cf462e82aa6dfe1b )
It returns data for the incident to my script, and is visible in a web browser.
I have successfully updated the following fields using a JSONv2 POST request:
- u_alternate_contact
- u_machine_name
Uri Format: https://instancename.service-now.com/incident.do?JSONv2&sysparm_query=number=INC1234567&sysparm_acti...
Example JSON: { "u_alternate_contact": "Contact pushed via PowerShell" }
Using the above Uri format however, adding comments/work notes doesn't work.
After some reading around on other threads it seemed I should be adding these to sys_journal_field, performing the match on this table by using sys_id from the incident in incident.do, and using that for element_id. Testing this via a JSON GET request:
Uri Format: https://instancename.service-now.com/sys_journal_field.do?JSONv2&sysparm_query=element_id=580b112cf9...
... returned all existing work notes and comments for the incident via both the web UI and within my script. The comments/work notes that I tried to POST to incident.do were not visible either in the incident.do table or this. The only comments / work notes visible are those added via the web interface, so I suspect the POST to incident.do is definitely not working.
Minor success:
Attempting to update sys_journal_field.do:
Uri Format: https://instancename.service-now.com/sys_journal_field.do?JSONv2&sysparm_action=update&sysparm_query...
JSON:
{
"element": "work_notes"
"name": "task"
"value": "This is a work note added via PowerShell"
}
Rather than INSERT a record, this UPDATED every result (2 x work note, 1 x comment) to become a work note with the value "This is a work note added via PowerShell".
I tried sysparm_action=insert instead, but this didn't change anything.
At the moment the only thing I can think to do (somehow) is retrieve the existing values for comments and work notes in JSON format, append a new one, and then sysparm_action=update / POST the whole thing back. This is far from ideal however.
Help much appreciated!
Regards,
Robin
Solution to insert a new work note:
I had to use INSERT to sys_journal_field.do table as mentioned above, but using the sysparm_query=element_id=xxxxxxxxxxxxx is not required.
However, element_id must be specified in the JSON object, and this is the incident's sys_id value.
Uri Format: https://instancename.service-now.com/sys_journal_field.do?JSONv2&sysparm_action=insert
JSON:
{
"element": "work_notes"
"element_id": "580b112cf95a6500cf462e82aa6dfe1b"
"name": "task"
"value": "This is a work note added via PowerShell"
}
To insert a comment it would be "element": "comments"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-04-2014 02:31 AM
Does anyone know the likelihood of getting an answer from the Service Now staff on here? Should I raise an official support case?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2014 10:01 AM
I was wondering if you made any progress with this issue? We are running into the same issue, but we are creating our comments via our native iOS/Android app. I made the following post - Comments are not being displayed in Web Portal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2014 12:37 PM
Are you just trying to update an individual record? Does this work?
URL:
JSON:
{"work_notes":"This is a work note added via PowerShell"}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-01-2014 06:11 AM
Hi Erik,
Thanks for your reply. I'd already tried what you suggest (I quote: "Using the above Uri format however, adding comments/work notes doesn't work.").
Regards,
Robin