ServiceNow正在重命名附件,无法获取SysId

ServiceNow正在重命名附件,无法获取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

在ServiceNow中,我在business login-script actions中编写了脚本。 在添加和删除时,我获得了sysId,但在重命名附件时,我无法获得sys\u id

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更改附件文件名时触发。