PutZendeskTicket

文档中心 › 组件索引 › PutZendeskTicket

PutZendeskTicket Processor

类型全限定名:cn.org.acal.lynxus.processors.zendesk.PutZendeskTicket

所属 Bundle:cn.org.acal.lynxus:lynxus-zendesk-nar:2.11.8

描述

使用 Zendesk API 创建 Zendesk 票证。

标签

zendesk, ticket

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
Web Client Service Provider控制器服务 API:
WebClientServiceProvider
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
用于 HTTP 客户端操作的Controller Service。
Subdomain NameZendesk 子域的名称。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
User Name将用户登录到 Zendesk 子域。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Authentication Type
  • Password — Zendesk 登录用户的密码。
  • Token — 在 Zendesk Admin 菜单中生成的用于 API 访问的身份验证令牌。
Zendesk API 的身份验证类型。
Authentication CredentialZendesk 登录用户的密码或身份验证令牌。
敏感属性:是
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Record Reader控制器服务 API:
RecordReaderFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
指定用于解析传入数据并确定数据模式的 Controller Service。
Comment Body传入记录中评论正文的内容或路径。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Subject传入记录中主题的内容或路径。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Priority传入记录中优先级的内容或路径。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Type传入记录中类型的内容或路径。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)

动态属性

动态属性允许用户自定义属性的名称与值。

名称值描述
要添加的请求对象中的路径。该值需要是有效的 JsonPointer。传入记录中用于获取值的路径。要添加到 Zendesk 请求对象的附加属性。

关系 (Relationships)

名称描述自动终止
failure如果操作失败并且重试操作也将失败,例如无效的数据或模式,则 FlowFile 将路由到此关系。否
success对于由于成功的 HTTP 请求而创建的 FlowFiles。否

写入的 FlowFile 属性

名称描述
record.count处理的记录数。
error.code响应中的错误代码。
error.message来自响应的错误消息。

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

详细说明

PutZendeskTicket

说明

该 Processor 使用 Zendesk API 把工单写入 Zendesk。该 Processor 可以直接从 FlowFile 内容发送请求,也可以使用 RecordReader 从传入记录构建请求对象。

认证

Zendesk API 使用基本认证。必须提供密码或认证令牌之一。在 Zendesk API Settings 中可以生成认证令牌,这样用户无需暴露 密码。这种方式还提供了需要时快速吊销令牌的优势。

属性值

向请求对象提供属性值有多种方式:

Record Path:

如果值提供在以 '%' 开头的方括号内,属性值会作为 record path 求值。

示例:

传入记录如下。

{
  "record": {
    "description": "This is a sample description.",
    "issue\_type": "Immediate",
    "issue": {
      "name": "General error",
      "type": "Immediate"
    },
    "project": {
      "name": "Maintenance"
    }
  }
}

我们要为 Comment Body、Subject、Priority 和 Type Processor 属性提供 Record Path 值:

Comment Body : %{/record/description}
Subject : %{/record/issue/name}
Priority : %{/record/issue/type}
Type : %{/record/project/name}

将要发送给 Zendesk API 的构建请求对象如下:

{
  "comment": {
    "body": "This is a sample description."
  },
  "subject": "General error",
  "priority": "Immediate",
  "type": "Maintenance"
}

常量:

如果提供的值不符合 Record Path 格式,属性值会被视为常量。

示例:

我们要为 Comment Body、Subject、Priority 和 Type Processor 属性提供常量值:

Comment Body : Sample description
Subject : Sample subject
Priority : High
Type : Sample type

将要发送给 Zendesk API 的构建请求对象如下:

{
  "comment": {
    "body": "Sample description"
  },
  "subject": "Sample subject",
  "priority": "High",
  "type": "Sample type"
}

附加属性

该 Processor 的属性列表中提供了一组常用的 Zendesk 工单属性。不过,用户可以使用动态属性灵活地包含任意数量的 附加属性。这些动态属性的键用作 Json Pointer,表示请求对象内的路径。相应地,这些动态属性的值 与预定义的属性属性对齐。可能的 Zendesk 请求属性参见 Zendesk API 文档。

属性键的值:

动态属性的键必须是有效的 Json Pointer 值,其语法规则如下:

  • 路径以 / 开头。
  • 每个段由 / 分隔。
  • 每个段可以解释为数组索引或对象键。

示例:

我们要给该 Processor 添加新的动态属性:

/request/new_object : This is a new property
/request/new_array/0 : This is a new array element

构建的请求对象如下:

{
  "request": {
    "new_object": "This is a new property",
    "new_array": [
      "This is a new array element"
    ]
  }
}