ServiceNow正在重命名附件,无法获取SysId
在ServiceNow中,我在business login-script actions中编写了脚本。 在添加和删除时,我获得了sysId,但在重命名附件时,我无法获得sys\u idServiceNow正在重命名附件,无法获取SysId,servicenow,servicenow-rest-api,Servicenow,Servicenow Rest Api,在ServiceNow中,我在business login-script actions中编写了脚本。 在添加和删除时,我获得了sysId,但在重命名附件时,我无法获得sys\u id sendnotification(); function sendnotification() { try { var r = new sn_ws.RESTMessageV2('IqtrackTest', 'AttachmentPost'); r.setStrin
sendnotification();
function sendnotification()
{
try
{
var r = new sn_ws.RESTMessageV2('IqtrackTest', 'AttachmentPost');
r.setStringParameterNoEscape('sys_id',current.sys_id);
r.setStringParameterNoEscape('sysparm_TableName',current.getTableName());
r.setStringParameterNoEscape('Action',"Attachment_Renamed");
var response = r.execute();
var responseBody = response.getBody();
var httpStatus = response.getStatusCode();
}
catch(ex)
{
var message = ex.getMessage();
}
}
试试这个
var record = new GlideRecord('sys_attachment');
record.addQuery('user_name',gs.getUserName());
record.orderByDesc('sys_updated_on');
record.setLimit(1);
record.query();
if (record.next())
{
gs.print(record.getValue("sys_id"));
gs.print(record.getDisplayValue("file_name"));
gs.error("file name"+record.getDisplayValue("file_name"));
}
只需在后台脚本中运行此代码
var temp= new GlideRecord('sys_attachment');
temp.addQuery('user_name',gs.getUserName());
temp.orderByDesc('sys_updated_on');
temp.setLimit(1);
temp.query();
if (temp.next()){
gs.print(temp.getValue("sys_id"));
}
在这种情况下,什么是当前的?另外,这是一个脚本动作,所以我猜是由一个事件触发的。了解事件是什么以及触发事件的原因(例如更新后业务规则中的eventQueue)会有所帮助。重命名附件时发生什么事件?脚本操作中有一个带有attachment.rename的事件,我添加了上述代码。我可以插入的任何其他事件。@Joey重命名附件时发生的事件是什么?脚本操作中有一个带有attachment.rename的事件,我添加了上述代码。我可以插入的任何其他事件我看到一个名为
附件的事件。重命名为,这是您的意思吗?当通过UI更改附件文件名时触发。