创建

描述

object mediatype.create(object/array mediaTypes)

此方法允许创建新的媒体类型。

此方法对于任何用户可用。可以在用户角色设置中撤销调用该方法的权限。更多信息请查看 用户角色

参数

(object/array)` 需要创建的媒介类型。

除了标准媒介类型属性外,该方法还接受以下参数。

参数类型描述
parametersarray要为媒体类型创建的 Webhook 参数
message_templatesarray为媒体类型创建的消息模板

返回值

(object)返回一个包含在”mediatypeids”属性下创建的媒介类型的IDs的对象,返回的顺序与传递的媒介类型的ID顺序匹配。

示例

创建电子邮件媒介类型

使用自定义 SMTP 端口和消息模板创建新的电子邮件媒介类型。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "mediatype.create",
  4. "params": {
  5. "type": "0",
  6. "name": "E-mail",
  7. "smtp_server": "mail.example.com",
  8. "smtp_helo": "example.com",
  9. "smtp_email": "[email protected]",
  10. "smtp_port": "587",
  11. "content_type": "1",
  12. "message_templates": [
  13. {
  14. "eventsource": "0",
  15. "recovery": "0",
  16. "subject": "Problem: {EVENT.NAME}",
  17. "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" started at {EVENT.TIME}."
  18. },
  19. {
  20. "eventsource": "0",
  21. "recovery": "1",
  22. "subject": "Resolved in {EVENT.DURATION}: {EVENT.NAME}",
  23. "message": "Problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}."
  24. },
  25. {
  26. "eventsource": "0",
  27. "recovery": "2",
  28. "subject": "Updated problem in {EVENT.AGE}: {EVENT.NAME}",
  29. "message": "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem \"{EVENT.NAME}\" on host \"{HOST.NAME}\" at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}."
  30. }
  31. ]
  32. },
  33. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  34. "id": 1
  35. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "mediatypeids": [
  5. "7"
  6. ]
  7. },
  8. "id": 1
  9. }

创建脚本媒介类型

创建一个新的脚本媒介类型,自定义失败尝试次数和尝试间隔时间。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "mediatype.create",
  4. "params": {
  5. "type": 1,
  6. "description": "Push notifications",
  7. "exec_path": "push-notification.sh",
  8. "exec_params": "{ALERT.SENDTO}\n{ALERT.SUBJECT}\n{ALERT.MESSAGE}\n",
  9. "maxattempts": "5",
  10. "attempt_interval": "11s"
  11. },
  12. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  13. "id": 1
  14. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "mediatypeids": [
  5. "8"
  6. ]
  7. },
  8. "id": 1
  9. }

创建 webhook 媒介类型

创建新的 webhook 媒介类型。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "mediatype.create",
  4. "params": {
  5. "type": 1,
  6. "description": "Push notifications",
  7. "exec_path": "push-notification.sh",
  8. "exec_params": "{ALERT.SENDTO}\n{ALERT.SUBJECT}\n{ALERT.MESSAGE}\n",
  9. "maxattempts": "5",
  10. "attempt_interval": "11s"
  11. },
  12. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  13. "id": 1
  14. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "mediatypeids": [
  5. "9"
  6. ]
  7. },
  8. "id": 1
  9. }

来源

ui/include/classes/api/services/CMediaType.php 中的 CMediaType::create()。