如何通过API更新BMC Remedy中的事件状态?

时间:2018-11-21 16:35:51

标签: node.js express remedy bmc

在我的项目中,我们集成了BMC Remedy API,以创建带有注释和附件的事件,过滤事件,获取事件。所有这些都很好。

现在,要求是通过API将已创建事件的状态更新为已关闭。 我正在使用nodejsexpress

下面是要测试的代码段:

get('INC000000021072', true) // works fine
.then(inc => update(inc, { Status: 'Closed'})) // getting an error - Field ID specified is not found on this form.
.then(() => get('INC000000021072', true))
.then((inc) => console.log(inc));

更新功能:

async function update(incident, values) {
  console.log('update method #############',{ incident, values});
  try{
    const result = await query({
      uri: `HPD:IncidentInterface/${incident.id}`,
      method: 'PUT',
      json: { values },
    });
    console.log(result); // never gets here due to error
  } catch(error) { console.log(error) };
}

更新 我可以使用请求ID更新提交者和说明之类的字段。但无法更新状态。在使用所有分配相关字段更新状态时,出现以下错误:

[
    {
        "messageType": "ERROR",
        "messageText": null,
        "messageAppendedText": "The Assigned Group fields are invalid.  Use the menus for the Support Company, Support Organization, Assigned Group, and Assignee fields or the type ahead return function on the Assigned Group or Assignee fields to select this information.",
        "messageNumber": 1291053
    }
]

是否有用于更新事件状态的特定界面?要更新事件状态还需要发送其他字段吗?

1 个答案:

答案 0 :(得分:0)

以下解决方案对我有用:传递事件和值以进行更新。另外,必须通过事件请求ID来更新事件。

QSqlQuery query("SELECT GroupCode, AcName, ActCod from adm_ac ORDER BY ActCod ASC"); 

要更新状态,必须通过以下字段:

async function update(incident, values) {
  try{
    await query({
      uri: `HPD:IncidentInterface/${incident.requestId}`,
      method: 'PUT',
      json: { values },
    });
  } catch(error) { console.log(error) };
}