介绍

本手册列出了所有功能插件。

注解

功能插件由 客户解决方案团队 安装到 OTRS 中。对于 On Premise 系统，客户解决方案团队 将选定的功能插件添加到软件仓库后，客户可以从软件包管理器安装功能插件。若要安装功能插件，请通过support@otrs.com或 OTRS Portal 与 客户解决方案团队 联系。

服务人员邮件接口

此功能插件使服务人员可以通过电子邮件处理工单，而无需使用 OTRS 的Web界面。

为了使用此模块，服务人员可以通过在两个特殊命令标签之间包含一个或多个命令来回复任何工单通知邮件，如下所示：

<OTRS_CMD> send </OTRS_CMD>

or（或）

<OTRS_CMD> send, nocc </OTRS_CMD>

可以把几个命令组合使用(逗号分隔)，需要确保组合后的命令是有意义的。

有以下命令：

send - 向客户发送电子邮件，包括cc和bcc收件人（send 还会锁定工单）。

nocc - 如果与 send 一起使用，cc和bcc收件人将被排除在外。

lock - 锁定工单。

unlock - 解锁工单。

get - 获取最后一篇客户信件并将其发送给服务人员。

note - 为工单添加内部注释。

close - 关闭工单（还会解锁工单）。

注解

该软件包将此功能的功能限制为系统已知的服务人员，但它不使用高级安全机制，如数字签名等。

优点

节省时间，因为不需要频繁登录和注销。

提高灵活性，因为您无需登录系统。

目标组

可用于服务人员未永久登录到 OTRS 服务人员界面的所有区域。

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSAgentEmailInterface

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面。

系统配置

服务人员界面位置与设置 Core → Email → NotificationSenderEmail 相同。

检查位置是否相同:

转到 系统配置 屏幕。

在 导航 小部件中选择 OTRS。

导航到导航树中的 Core → Email 并搜索设置 NotificationSenderEmail。

如果需要，请更改电子邮件地址，并记住它。

在 导航 小部件中选择 OTRSAgentEmailInterface。

导航到导航树中的 Core → Email → PostMaster。

将 AgentInterfaceAddress 键的值更改为与步骤3中设置的值相同。

服务人员界面

本软件包没有服务人员界面。

用法

回复任何工单通知，并在邮件正文的任何位置插入以下标签：

<OTRS_CMD> close </OTRS_CMD>

从工单通知切换到工单，并比较工单状态。 工单应处于 已关闭 状态。

注解

该软件包将此功能的功能限制为系统已知的服务人员，但它不使用高级安全机制，如数字签名等。

外部人员界面

本软件包没有外部人员界面。

自动启动流程

重复的任务可以特别好地数字化。 按计划创建流程工单可以使您的服务人员甚至客户免于考虑任务的义务。一旦设置好，步骤就可以自动开始，无需人工干预。当工单在流程中移动时，任务实现的文档会自然地发展。

优点

自动化流程可节省时间。

有效地完成任务。

性能一致，错误减少。

正确的任务是在正确的时间完成的。

目标组

投诉管理

客户服务

设施管理

财会

IT服务

安全管理

服务提供商

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSAutomaticStartOfProcesses

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

此软件包实现了计划的自动创建流程工单。

目录

流程和自动化

流程管理

创建启动事件

将启动事件添加到画布

流程和自动化

安装本软件包后，会向流程管理添加一个新的 启动事件 元素。

目录

流程管理

创建启动事件

将启动事件添加到画布

流程管理

安装该软件包后，流程管理的手风琴小部件中将提供一个新的 启动事件 元素。流程现在可以包含正常起点和计划起点。可以通过一个界面配置启动事件的计划。

创建启动事件

为了能够为流程管理创建启动事件，请创建流程或修改现有流程。

单击左侧边栏中 可用的流程元素 小部件中的 启动事件 项。 此操作将扩展 启动事件 选项，并将折叠所有其它的选项类似手风琴效果。 单击 创建新的启动事件 按钮。

启动事件

在打开的弹出屏幕中，填写 启动事件名称 并设置计划时间。

创建新的启动事件 屏幕

启动事件名称

基于计划的起始点的名称。

计划设置

计划起始点的 Cron 设置。

要编辑已定义的启动事件，只需在 可用的流程元素 小部件中单击其名称即可。

编辑启动事件 屏幕

将启动事件添加到画布

要将已配置的启动事件添加到流程画布屏幕，必需一个空闲的活动（未连接到其它活动）。 基于计划的启动事件无法直接连接到流程的正常起始点。 此外，计时器启动事件不可移动。 绝对需要将基于计划的启动事件连接到空闲活动。 然后，可以将该基于计划的第一个活动连接到正常活动。

画布上的启动事件

计时器启动事件的初始活动可以是任何类型的活动。 如果是用户任务活动，则会创建流程工单，并且该流程将保留在此活动中。

注解

对流程所做的任何更改都需要重新部署流程，以便将更改反映到系统中。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

日历资源计划

此功能插件为您提供整个团队的操作概述。还不止这些。动态字段、报表功能和通知可以使您的工作更简单，因为它允许您拥有个性化的日历视图、每个人或团队的资源规划以及选定的日历导入选项。

此外，可以将客户和工单数据从链接的工单同步到预约中。然后，可以将此数据作为脱机本地日历提供给该字段中的服务人员。通过将日历条目与工单链接，您手头上总是有关于预约的完整详细信息。

使用预定义的授权组，您甚至可以为选定的团队创建共享日历。现在，重要的信息，如会议或最后期限，可供所有相关服务人员使用。

可视化哪个服务人员要执行哪些任务以及估计完成这些任务的时间。会议、预约和简单的项目计划现在可以为整个部门在 OTRS 中集中显示。

优点

所有团队和资源的跨部门概览。

日历、资源计划和项目计划都在一个工具中。

报表功能和通知。

客户和工单数据也可离线用于现场服务。

目标组

客户服务

设施管理

人力资源

IT

IT 服务管理

物流

市场和公共关系

项目管理

销售

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSCalendarResourcePlanning

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

This package extends the Calendar Management screen with a new section to set default values and add dynamic fields to appointments. New management screens for teams and team agents are also available from the Team Management and Team List Management module of the Administration group. It is also possible to send out ICS files in appointment notifications.

目录

系统管理

日历

管理设置

Team Management

管理团队

团队设置

Team List Management

管理服务人员 ↔ 团队关系

通信和通知

预约通知

预约过滤器

在通知中发送ICS文件

流程和自动化

动态字段

系统管理

This package extends the Calendar Management screen with a new section to set default values and add dynamic fields to appointments. New management screens for teams and team agents are also available from the Team Management and Team List Management module of the Administration group.

目录

日历

管理设置

动态字段

高级设置

Team Management

管理团队

团队设置

Team List Management

管理服务人员 ↔ 团队关系

日历

Use this screen to add default values to appointments. The calendar management screen is available in the Calendars module of the Administration group.

此软件包扩展了 日历管理 屏幕，增加了一个新的部分，用于设置预约的默认标题、说明和位置。

若要设置预约的默认值，请执行以下操作：

单击左侧边栏中的 添加日历 按钮，或单击日历列表中的日历。

填写必填字段。

在 管理设置 小部件中添加默认值。

管理设置小部件

管理设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

动态字段

注解

仅当系统中添加了用于预约的 动态字段 时，此部分才可见。

此部分列出了每个预约动态字段。

为每个预约动态字段定义 隐藏、显示 或 强制显示。

高级设置

标题（默认）

定义使用此日历的预约的默认标题。

说明（默认）

定义使用此日历的预约的默认说明。

位置（默认）

使用此日历定义预约的默认位置。

附加说明

定义 自定义时间线 视图中每个预约上显示的附加文本，以便在概览屏幕中显示更多信息。可以显示预约的属性以及存储的动态字段。甚至可以访问链接的工单数据。

可以使用与预约相关的OTRS智能标签，例如 <OTRS_APPOINTMENT_X>、<OTRS_APPOINTMENT_DYNAMICFIELD_X>。您甚至可以使用 <OTRS_APPOINTMENT_TICKET_X> 来访问链接工单的数据。如果链接了多个工单，则可以使用 <OTRS_APPOINTMENT_TICKET_1_X>，工单按工单ID排序。

注解

此时未创建预约，并且并非所有值都存在（例如，不能使用动态字段值）。定义的文本仅在创建预约时使用（没有更新功能），因此并非所有OTRS智能标签都可用。

每当选择日历且标题、说明或位置为空时，将填充为默认值。

在标题、说明或位置的输入字段后面，如果指定了默认值，则有一个刷新按钮。如果在屏幕中输入了动态字段，则此刷新按钮可用于重新应用存储的默认值。

警告

使用刷新按钮将覆盖已输入的数据。

Team Management

Use this screen to manage teams. The team management screen is available in the Team Management module of the Administration group. Additionally, it is also accessible from the Team List Management screen.

管理团队 屏幕

管理团队

若要创建一个新的团队：

点击左侧边栏中的 添加团队 按钮。

填写必填字段。

点击 保存 按钮。

添加团队 屏幕

警告

无法从系统中删除团队。 只能通过将 有效性 选项设置为 无效 或 临时无效 来停用它们。

若要编辑一个团队：

点击团队列表中的一个团队。

修改字段。

点击 保存 或 保存并完成 按钮。

编辑团队 屏幕

若要管理团队中的服务人员：

点击 管理团队的服务人员 按钮。

Assign agents to teams and vice versa in the Team List Management screen.

若要导出一个团队：

单击概览表最后一列中的导出图标。

在计算机中选择一个位置以保存 Export_Team_Team_name.yml 文件。

导出团队 屏幕

若要导入一个团队：

点击左侧边栏中的 团队导入 小部件的 浏览… 按钮。

选择一个先前导出的 .yml 文件。

如果您想覆盖现有的团队，点击 覆盖当前已有条目 复选框。

点击 导入团队 按钮。

团队导入小部件

注解

如果系统中添加了多个团队，只需键入要过滤的名称，即可使用过滤器框查找特定团队。

团队设置

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

权限组 *

可以管理团队的服务人员组。 任何人都可以完全访问该组，以便能够管理团队及其服务人员，并将其作为资源分配给预约。

注释

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

有效性 *

设置此资源的有效性。 如果此字段设置为 有效，则每个资源即可仅在 OTRS 中使用。 将此字段设置为 无效 或 临时无效 将禁止此资源的使用。

Team List Management

Once you have set up a team in Team Management screen, you must define which agents belong to which teams. To use this function, at least one agent and one team need to have been added to the system. The management screen is available in the Team List Management module of the Administration group. Additionally, it is also accessible from the Team Management screen.

管理团队的服务人员

管理服务人员 ↔ 团队关系

若要将某些团队分配给一个服务人员：

点击 服务人员 列中的一个服务人员。

选择要为此服务人员分配的团队。

点击 保存 或 保存并完成 按钮。

修改服务人员的团队关系

若要将某些服务人员分配给一个团队：

点击 团队 列中的一个团队。

选择要为此团队分配的服务人员。

点击 保存 或 保存并完成 按钮。

修改团队的服务人员关系

注解

如果系统中添加了多个服务人员或团队，只需键入要过滤的名称，即可使用过滤器框查找特定服务人员或团队。

可以在两个屏幕中同时分配多个服务人员或团队。 此外，单击关系屏幕中的服务人员或团队将相应地打开 编辑服务人员 屏幕或 编辑团队 屏幕。

警告

访问服务人员或团队后不提供返回到关系屏幕的链接。

通信和通知

此功能增加了在预约通知中发送ICS文件的可能性。

目录

预约通知

预约过滤器

在通知中发送ICS文件

预约通知

使用此屏幕可以筛选预约并在预约通知中发送ICS文件，这些文件可以用任何常规日历应用程序打开。预约通知管理屏幕位于 通信和通知 组的 预约通知 模块中。

预约过滤器

在新的或现有的预约通知中使用此部分来筛选预约。

预约过滤器部分

可以根据日历、标题、位置、团队或资源以及动态字段进行筛选（如果在 动态字段 屏幕中创建了预约的动态字段）。

在通知中发送ICS文件

可以在发送给用户的预约通知中包含ICS文件。

若要激活ICS文件的发送：

创建一个新的预约通知或选择一个现有的预约通知。

在 事件 小部件中，选择 AppointmentCreate、 AppointmentUpdate 或 AppointmentDelete 作为事件。

在 通知方法 小部件选择 发送ICS文件。

You can even configure to use the additional shown information out of the Custom timeline view (configurable per calendar) in the ICS file generation as well. Just activate the setting AppointmentCalendar::ICSFiles::UseAppointmentDescription to combine the regular description with the configured text.

流程和自动化

本软件包为预约添加了对动态字段的支持。

目录

动态字段

动态字段

使用此屏幕可管理预约的动态字段。预约的动态字段的配置方式必须与其它对象的动态字段的配置方式相同。设置动态字段后，必须激活日历的动态字段。

若要激活日历的动态字段，请执行以下操作：

转到 日历 屏幕。

选择一个日历或创建一个新日历。

在 管理设置 小部件中找到 动态字段 部分。

为每个预约动态字段定义 隐藏、显示 或 强制显示。

This feature controls only the visibility of the dynamic fields. The dynamic fields have to be added manually to the Add Appointment and Edit Appointment forms by using the following system configuration settings:

Forms###AgentFrontend::Calendar::AppointmentCreate::Properties

Forms###AgentFrontend::Calendar::AppointmentUpdate::Properties

The dynamic fields can be added to the Linked Appointments widget of the detail views as well. The following settings have to be extended:

AgentFrontend::TicketDetailView::Widget###LinkedObjects::CalendarAppointment

AgentFrontend::KnowledgeBaseArticleDetailView::Widget###KBALinkedObjects::CalendarAppointment

服务人员界面

This feature add-on enhances the original calendar implementation by introducing resource allocation for appointments. Furthermore, resources can be assigned to separate teams, which in turn can be used to filter resource overview and availability. The appointments now can be used in list statistics.

目录

Resource Calendar

Timeline View “Custom” Settings

添加预约

日历订阅

Statistics and Reports

Resource Calendar

After installation of the package, a new resource overview widget will be available in the Calendar Overview and in the Dashboard. While it is possible to assign resources to an appointment in any appointment widget, this widget is designed exclusively for allocating resources to appointments.

This widget looks very much like a regular appointments widget. It has a filter for teams in the widget configuration and a list of agents for that team (available only in time-line views). By choosing a team in the widget configuration, you will be presented with all appointments assigned to the team. A new section Timeline View “Custom” Settings is also added to all appointment widgets as a new customizable view.

Resource Calendar Widget

Once you have both teams and their agents set up, you can proceed to a calendar overview and start assigning appointments to teams and agents. Simply add or edit an appointment, and choose both team and agent from the lists under resource. You can do this via any appointment widget, as appointment edit dialog is the same for all of them.

By simply dragging an appointment to a row line with an agent’s name in time-line view, it is possible to assign an appointment to this resource. If an appointment does not have an agent assigned to it, it will appear in the Unassigned row of the widget. An appointment with multiple assigned agents will be displayed in each row of assigned agents. Dragging one instance of this appointment will move all them in the same fashion.

By editing the settings of the Resource Calendar widget via gear icon in top right corner, you can choose which team agents are displayed within the widget and you can customize the Timeline View “Custom” Settings.

In all other aspects, the Resource Calendar widget behaves in the same way as a regular appointment widget.

Timeline View “Custom” Settings

其中一些设置也应用于常规日历概览。

Resource Calendar Settings

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

Widget Title

Here, the default name of the widget can be changed. If a new name is entered, this name will be displayed in the header of the widget.

Grid View *

Here can be selected the time period for the specific view.

Timeline View *

Here can be selected the time period for the specific view. The Resource Calendar has a new Custom view type for timeline view.

Agenda View *

Here can be selected the time period for the specific view.

Show weekends *

选择是否显示周末。

Show Resource Information *

Show additional resource information next to the agent name in the Resource Calendar widget. You can use OTRS smart tags related to agents, e.g. <OTRS_AGENT_X>. You can even access agent preferences.

参见

可以在系统配置的 AppointmentCalendar::CustomTimeline::ResourceInformation 设置中添加其它资源信息。

Resources *

This setting is user and team specific. If you have defined an agent filter in this way, the widget will filter the appointments to the selected teams and agents.

Shown weeks *

Select how many weeks should be displayed in the Custom timeline view.

Start time *

Select the start time for the Custom timeline view. The default 00:00 means the start time will be at the very beginning of the day (midnight).

End time *

Select the end time for the Custom timeline view. The default 24:00 means the end time will be at the very end of the day (midnight).

Slot duration *

Select the time slot duration for the Custom timeline view. The default 2 Hours means that each shown time slot has the duration of two hours (e.g. 12 slots are shown for a day 00:00 - 24:00).

Slot width *

Select the time slot width for the Custom timeline view. The default 100 Pixel means that each shown time slot has a width of 100 pixel.

In Custom timeline view, it is possible to show more information on each shown appointment. For this, you have to configure the setting Additional Description in the 日历 screen.

添加预约

您可以将多个团队和服务人员分配给一个预约，但您必须始终先选择一个团队。 生成的服务人员列表是所有选定团队的集合，没有任何重复。 从列表中选择服务人员也是可选的，因此您可以将预约仅分配给团队。

Add Appointment Action

日历订阅

可以在日历订阅功能中使用筛选器。

要使用日历订阅功能，请执行以下操作：

Open the Calendar Overview or the Dashboard screens.

Click on the gear icon next to a calendar in the Resource Calendar widget in left sidebar.

选择要筛选的团队和资源。

单击 复制 按钮。现在URL被复制到剪贴板。

转到日历应用程序并粘贴URL。

Calendar Subscription Action

单击 复制 按钮后，对话框将保持打开状态，以便更改选定的团队和资源。

Statistics and Reports

After installation of the package you can set up new list statistics using the AppointmentList statistic back end to create statistics about the stored appointments in your OTRS system. It is a regular statistic (e.g. like the TicketList statistic), which means you can configure the X-axis and Y-axis to your needs. A lot of the appointment attributes are even available as restrictions.

一些可选属性是动态计算的：

总时长

天

小时

时间段 筛选器可用于将预约的开始时间和结束时间与OR（或）运算符（而不是AND（与）运算符）组合在一起。例如，配合当前一个月的相对时间段的 开始时间 筛选器将不显示从上一个月开始但在当前月份结束的预约。要查看此类预约，必须使用 时间段 筛选器。重叠的预约被拆分。

对于每个链接的工单，都有一行将添加到统计输出中。例如，一个预约链接到两个工单，预约将显示两次。

注解

如果使用团队和资源筛选预约，请小心。不幸的是，无法在数据库级别筛选团队和资源，这意味着创建统计数据所需的时间可能比通常要长。

外部人员界面

本软件包没有外部人员界面。

客户前端链接对象

With this feature add-on, linked knowledge base articles, tickets and other objects, can be displayed in the ticket detail view of the external interface. In the system configuration, you can easily select whether you want to display linked tickets and/or knowledge base articles in the external interface.

此外，此功能插件可确保仅显示客户用户具有读取或写入访问权限的那些链接的工单。 如果没有权限，则不会显示链接的工单，以阻止客户用户接收不必要的错误消息。

优点

与客户的沟通更加透明。

More efficient workflow to display knowledge base articles in the external interface.

使客户对事件解决过程有更深入的了解。

目标组

内部和外部IT

客户服务

设施管理

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSCustomerFrontendLinkObject

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面。

服务人员界面

本软件包没有服务人员界面。

要在 外部人员界面 使用此功能：

在服务人员界面上创建两个工单。

为两个工单选择相同的客户用户。

将一个工单链接到另一个工单。

Create a knowledge base article. Make sure that the knowledge base article is visible to customers or public. Just knowledge base articles of this type can be displayed in the external interface.

Link the knowledge base article to the ticket created for the customer user.

外部人员界面

This package has no external interface, but it shows linked tickets and knowledge base articles in ticket detail view.

To use this functionality, an agent has to create tickets and knowledge base articles in the 服务人员界面 and link them together.

要在外部人员界面中查看链接的对象，请执行以下操作：

以客户用户身份登录。

从工单菜单中选择 我的工单。

Select a ticket that has linked ticket and/or knowledge base article.

在工单详细信息视图的右侧栏中，查看包含链接对象的小部件。

Clicking on a ticket or knowledge base article will lead you to the linked ticket or knowledge base article.

客户特定服务

此功能插件使向客户分配服务成为可能，从而在创建工单时仅显示分配的服务，并且只有适当的SLA有效。

安装本软件包后，管理员界面中的 用户、组和角色 组中将显示一个新模块 客户 ↔ 服务。在这里您可以定义哪些服务应该分配给客户。

此外，您可以在系统配置中定义这些选项中的哪一个应该是最主要的。

优点

为许多客户高效、结构良好地管理多个服务和SLA。

避免创建不必要的工单，使您的服务团队感到压力。

为客户提供关于他或她可以为哪些服务开工单的最佳指导。

加快工单处理流程。

目标组

内部IT部门

外部IT服务提供商

呼叫中心

代理商

咨询业务

提供广泛服务或产品的公司

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSCustomerSpecificServices

注解

在首次使用之前，请确保激活了管理员界面中的 服务 选项。

注解

CustomerUserSearchListLimit 设置应该在 Kernel/Config.pm 中的 CustomerUser 部分配置。

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

安装本软件包后，将在管理员界面的 用户、组和角色 组中提供一个新模块。

注解

客户的确定基于客户用户搜索。 因此，调整 Kernel/Config.pm 中 CustomerUser 部分中的 CustomerUserSearchListLimit 设置非常重要。 否则，无法找到并显示所有客户。

目录

用户、组和角色

客户 ↔ 服务

管理客户 ↔ 服务关联

管理默认服务

用户、组和角色

安装本软件包后，管理员界面中的 用户、组和角色 组中将显示一个新模块 客户 ↔ 服务。在这里您可以定义哪些服务应该分配给客户。

目录

客户 ↔ 服务

管理客户 ↔ 服务关联

管理默认服务

客户 ↔ 服务

使用此屏幕可将一个或多个客户添加到一个或多个服务中。 要使用此功能，至少需要将一个客户和一项服务添加到系统中。 用户、组和角色 组的 客户 ↔ 服务 模块提供管理屏幕。

管理客户-服务之间的关联

管理客户 ↔ 服务关联

若要为一个客户分配一些服务：

点击 客户 列表中的一个客户。

选择要分配给客户的服务。

点击 保存 或 保存并完成 按钮。

修改客户关联的服务

若要为一个服务分配一些客户：

点击 服务 列中的一个服务。

选择要分配给该服务的客户。

点击 保存 或 保存并完成 按钮。

修改服务关联的客户

注解

如果将多个客户或服务添加到系统中，请使用搜索框查找特定客户，或使用过滤器框通过键入要过滤的名称来查找特定服务。

可以同时在两个屏幕中分配多个客户或服务。 另外，在关系屏幕上单击客户或单击服务将相应地打开 编辑客户 屏幕或 编辑服务 屏幕。

警告

访问客户或服务不提供到关联屏幕的返回链接。

注解

通过在列标题中设置复选框，将设置所选列中的所有复选框。

注解

客户用户和服务的分配应在此屏幕上完成。 不建议使用 客户用户 ↔ 服务 屏幕。

管理默认服务

可以添加默认服务，以便客户的所有客户用户都可以访问它们。 这样可以避免将每个服务添加到每个客户。

若要编辑默认服务：

点击左侧边栏中的 编辑默认服务 按钮。

选择应该为所有客户选择的服务。

点击 保存 或 保存并完成 按钮。

分配服务到客户 屏幕

警告

混合使用默认服务和客户特定服务可能会造成混淆。 如果为客户分配了特定的服务，则将不应用默认服务。

服务人员界面

After installation of the package a new widget will be available in the customer detail view.

在任何新工单屏幕中选择客户用户时，只有与该客户用户的客户相关的服务才可用。

目录

客户

客户

After installation of the package, a new widget Services appears in the customer detail view. In this widget all assigned services and the amount of open and closed tickets are displayed.

服务小部件

外部人员界面

此软件包没有外部人员界面，但是选择服务时可以限制为已配置的服务。

限制服务选择

参见

需要启用 ExternalFrontend::TicketCreate###Service 设置才能使用此功能。

在 新建工单 屏幕中，仅与客户用户的客户相关的服务可用。 客户用户选择服务后，如果已配置相关的服务级别协议（SLA），则它们将变为可用。

数据隐私保护

此功能插件负责 OTRS 中特定信息的数据隐私。基于可定制的规则，可以对不同类型的数据执行不同的操作。

警告

使用此功能插件可能会导致数据完全丢失！我们建议在执行 之前 对数据库进行备份，如果可能，在测试系统上进行测试。

警告

使用此功能插件的风险由您自己承担。OTRS AG 不对丢失的数据承担任何责任。

优点

遵守数据保护准则。

目标组

IT 服务管理

人力资源

内部IT

政府

IT服务

安全管理

可在服务包中找到

钛金

OTRS软件包管理器中的软件包名称

OTRSDataPrivacyProtection

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

此软件包没有管理员界面。所有数据隐私保护规则必须通过系统配置添加，并由控制台命令执行。

系统配置设置

出于安全原因，此软件包不附带任何预先配置的规则。因此，该功能无法开箱即用，必须先由管理员配置规则。

若要添加规则配置：

转到管理员界面的 系统配置 屏幕。

在 导航 小部件中选择 OTRSDataPrivacyProtection。

导航到导航树中的 Core→OTRSDataPrivacyProtection。

将YAML格式的规则配置添加到设置 OTRSDataPrivacyProtection::RuleConfiguration 中。

单个规则集的配置以YAML格式存储，由五个选项组成。标有星号的选项是必需的。

RuleName *

对于所有规则，此字符串选项必须是唯一的。它是一个字符串，用于标识每个不同的规则。规则名出现在所有相关的输出和历史记录条目中，但不影响任何功能。

RuleSource

此字符串选项仅供参考。不同的国家和地区有不同类型和种类的数据保护法规，这些法规可能是法律和/或书面文件的一部分。为了识别相关的原始源，基于不同的配置规则。RuleSource 可用于添加名称和/或描述，这些名称和/或描述将添加到相关的历史记录条目（如果可用）。

RuleType *

此字符串选项描述将在搜索期间找到的所有对象上执行的操作。支持以下操作（短格式或长格式）：

Anonymization(匿名化) 或 PrivacyByAnonymization

匿名化规则类型用于匿名化数据集，如在数据分类字段中所标识的。匿名意味着，不同的字段将被字符串 Anonymized 替换。

警告

在匿名化期间，原始数据集将被数据库中提到的字符串替换。原始数据没有保存，因此无法挽回地丢失！

Pseudonymization(假名化) 或 PrivacyByPseudonymization

与匿名化一样，假名化规则类型用于从原始字段中删除相关数据。与 Anonymization（匿名化） 规则类型有一个主要区别，数据将存储在一个单独的称为 data_pseudonymization 的数据库表中，。

此表不被任何其它子系统使用，并且不能通过GUI使用。它充当备份表，任何可以访问数据库的管理员都可以（手动）搜索该表，也可以使用管理员界面的 SQL查询窗口 模块。

在假名化过程中，将为相关数据字段创建一个通用唯一标识符（UUID），该标识符稍后用于标识原始数据。原始数据将被复制到备份表中，使用UUID作为字段标识符。之后，原始数据将仅被UUID替换，UUID实际上与匿名化相同，但包含指向存储的原始源数据的指针。

Deletion(删除) 或 PrivacyByDeletion

删除规则类型用于删除在数据分类字段中标识的数据集。删除意味着，不同的字段将被字符串 Deleted 替换。从技术上讲，原始数据将被删除，因为它将被替换为非敏感字符串，因此它的工作方式与 Anonymization（匿名化） 规则类型相同。

警告

在删除过程中，原始数据集将被数据库中提到的字符串替换。原始数据没有另外保存，因此无法挽回地丢失！

DataClassification(数据分类) *

此列表选项用于标识要应用关联操作的数据类型。它以数组的形式包含任何数据对象的不同字段。每个对象驱动程序都提供了可能使用的数据分类字段的列表。

参见

具体字段在下面的 驱动程序 部分中描述。

ObjectFilter(对象过滤器) *

此列表选项为每个使用的驱动程序实现搜索和过滤器条件。每个驱动程序都提供了允许使用的搜索和过滤器选项的列表。

参见

有关详细信息，请参阅下面的 驱动程序 部分。

在这个软件包中，由对象（如工单、客户用户等）表示的不同类型的信息称为 对象类型。因此我们讨论的是 对象类型。

为特定数据处理、搜索功能和此类特定对象类型的验证而实现的模块称为 驱动程序 或 驱动程序对象。

规则执行

一旦定义了规则，它们就可以应用于现有的数据集。为此，有一个控制台命令 Maint::DataPrivacy::Execute 。

使用 --help 选项执行控制台命令了解更多信息：

otrs> /opt/otrs/bin/otrs.Console.pl Maint::DataPrivacy::Execute --help

此命令提供了三种不同的选项：

检查现有规则的完整性和有效性。

在不改变数据记录的情况下测试现有规则的执行。

执行现有规则，从而永久更改匹配的数据集。

验证检查受影响的驱动程序和对象类型上下文中的所有可用规则。如果某些选项缺失或不正确，规则将被声明为无效，所有驱动程序都将跳过执行。

出于安全原因，在每次试运行之前和每次执行之前都会隐式地检查相应规则的有效性，如果出现错误，则会完全停止或跳过这些规则。

警告

我们建议，应该首先在测试系统上执行新规则或重大更改，以确保没有意外更改或删除数据。

警告

我们建议您首先备份数据库，以确保在执行规则或规则更改后未测试的数据不会丢失。

警告

由于规则的设计目的是更改或完全删除数据，因此提前仔细检查所有规则并为每个规则更改执行测试非常重要。

可以将规则执行的控制台输出重定向到文件中，以保存修改后的对象。请看下面的例子:

otrs> /opt/otrs/bin/otrs.Console.pl Maint::DataPrivacy::Execute --execute-detail > rule-execution.txt

驱动程序

本节描述各种驱动程序的配置和用法。此外，本节还包含可以根据您的个人需要复制和定制的示例配置。

客户单位驱动程序

客户单位驱动程序提供了搜索和修改客户单位信息的功能。

可能的数据分类:

- CustomerID
- CustomerCompanyName
- CustomerCompanyCountry
- CustomerCompanyStreet
- CustomerCompanyZIP
- CustomerCompanyCity
- CustomerCompanyURL
- CustomerCompanyComment
- DynamicField_NameX

该驱动程序支持数据分类的动态字段。动态字段将由前缀 DynamicField_ 和相关字段名标识。

可能的对象过滤器：

- ValidID
- CustomerID
- CustomerCompanyStreet
- CustomerCompanyURL
- CustomerCompanyComment
- WildcardSearch
- CustomerCompanyZIP
- CustomerCompanyCountry
- CustomerCompanyName
- CustomerCompanyCity

对象过滤器说明：

Limit（限制）:限制搜索结果的数量。

CreateTime（创建日间）:搜索日期 大于或等于 (>=)给定的时间。

WildcardSearch（通配符搜索）:影响除 ValidID 外的所有对象过滤器。

规则配置示例

下面是一些规则配置示例。这些示例是有效的YAML代码。您可以复制这些示例并根据需要修改它们。

在不使用通配符搜索的情况下，按客户单位名称删除客户单位名称和客户单位国家:

---
RuleName: Delete customer company name and customer company country by customer company name without wildcard search.
RuleType: PrivacyByDeletion
RuleSource: GDPR
DataClassification:
  CustomerCompany:
    - CustomerCompanyName
    - CustomerCompanyCountry
ObjectFilter:
  CustomerCompany:
    CustomerCompanyName: someCompanyName
    WildcardSearch: 0

在使用通配符搜索的情况下，按客户单位名称删除客户单位名称和客户单位国家:

---
RuleName: Delete customer company name and customer company country by customer company name with wildcard search.
RuleSource: someRuleSource
RuleType: PrivacyByDeletion
DataClassification:
  CustomerCompany:
    - CustomerCompanyName
    - CustomerCompanyCountry
ObjectFilter:
  CustomerCompany:
    CustomerCompanyName: someCompanyName
    WildcardSearch: 1

客户用户驱动程序

客户用户驱动程序提供了搜索和修改客户用户信息的功能。

可能的数据分类:

- UserTitle
- UserFirstname
- UserLastname
- UserEmail
- UserLogin
- UserComment
- UserCountry
- UserFax
- UserMobile
- UserCity
- UserPhone
- UserTitle
- UserStreet
- UserZip
- DynamicField_NameX

该驱动程序支持数据分类的动态字段。动态字段将由前缀 DynamicField_ 和相关字段名标识。

可能的对象过滤器：

- UserCity
- UserTitle
- UserFirstname
- UserPhone
- ValidID
- UserCountry
- UserLogin
- UserCustomerID
- UserLastname
- UserZip
- UserMobile
- UserEmail
- UserFax
- WildcardSearch
- UserStreet
- UserComment

对象过滤器说明：

Limit（限制）:限制搜索结果的数量。

CreateTime（创建日间）:搜索日期 大于或等于 (>=)给定的时间。

Valid（有效性）:搜索有效或无效的用户。可能的值是0或1。

WildcardSearch（通配符搜索）:影响除 ValidID 外的所有对象过滤器。

规则配置示例

下面是一些规则配置示例。这些示例是有效的YAML代码。您可以复制这些示例并根据需要修改它们。

在使用通配符搜索的情况下，按用户的名字删除用户的名字和姓氏:

---
RuleName: Delete user first names and user last names by user first name with wildcard search.
RuleType: PrivacyByDeletion
RuleSource: GDPR
DataClassification:
  CustomerUser:
    - UserFirstname
    - UserLastname
ObjectFilter:
  CustomerUser:
    UserFirstname: someFirstname
    WildcardSearch: 1

在不使用通配符搜索的情况下，按用户的名匿名化用户的名字和姓氏：

---
RuleName: Anonymize user first names and user last names by user first name and without wildcard search.
RuleSource: someRuleSource
RuleType: PrivacyByAnonymization
DataClassification:
  CustomerUser:
    - UserFirstname
    - UserLastname
ObjectFilter:
  CustomerUser:
    UserFirstname: someFirstname
    WildcardSearch: 0

在使用通配符搜索的情况下，按用户的名字和姓氏删除用户名字和姓氏：

---
RuleName: Delete user first names and user last names by user first name and user last name with wildcard search.
RuleSource: someRuleSource
RuleType: PrivacyByDeletion
DataClassification:
  CustomerUser:
    - UserFirstname
    - UserLastname
ObjectFilter:
  CustomerUser:
    UserFirstname: someFirstname
    UserLastname: someLastname
    WildcardSearch: 1

工单驱动程序

工单驱动程序提供搜索和修改工单和相关信件信息的功能。

工单可能的数据分类：

- Title
- CustomerUserID
- CustomerID
- DynamicField_NameX

信件可能的数据分类：

- From
- To
- Cc
- Subject
- Body
- Attachments
- DynamicField_NameX

该驱动程序支持数据分类的动态字段。动态字段将由前缀 DynamicField_ 和相关字段名标识。

数据分类支持历史类型。由于历史记录类型可能不同（框架版本、框架更新、已安装的软件包等），驱动程序将根据名称动态确定这些类型。

历史类型必须以 History 一词作为前缀。请参阅以下列表中的示例：

- HistoryAddNote
- HistoryAddSMS
- HistoryArchiveFlagUpdate
- HistoryBounce
- HistoryCustomerUpdate
- HistoryEmailAgent
- HistoryEmailCustomer
- HistoryEmailResend
- HistoryEscalationResponseTimeNotifyBefore
- HistoryEscalationResponseTimeStart
- HistoryEscalationResponseTimeStop
- HistoryEscalationSolutionTimeNotifyBefore
- HistoryEscalationSolutionTimeStart
- HistoryEscalationSolutionTimeStop
- HistoryEscalationUpdateTimeNotifyBefore
- HistoryEscalationUpdateTimeStart
- HistoryEscalationUpdateTimeStop
- HistoryFollowUp
- HistoryForward
- HistoryLock
- HistoryLoopProtection
- HistoryMerged
- HistoryMisc
- HistoryMove
- HistoryNewTicket
- HistoryOwnerUpdate
- HistoryPhoneCallAgent
- HistoryPhoneCallCustomer
- HistoryPriorityUpdate
- HistoryRemove
- HistoryResponsibleUpdate
- HistorySendAgentNotification
- HistorySendAnswer
- HistorySendAutoFollowUp
- HistorySendAutoReject
- HistorySendAutoReply
- HistorySendCustomerNotification
- HistoryServiceUpdate
- HistorySetPendingTime
- HistorySLAUpdate
- HistoryStateUpdate
- HistorySubscribe
- HistorySystemRequest
- HistoryTicketDynamicFieldUpdate
- HistoryTicketLinkAdd
- HistoryTicketLinkDelete
- HistoryTimeAccounting
- HistoryTitleUpdate
- HistoryTypeUpdate
- HistoryUnlock
- HistoryUnsubscribe
- HistoryWebRequestCustomer

在执行期间，分类历史类型的所有内容都将受到影响。

如果附件被分类，所有匹配的信件或工单的每个附件都将在执行期间受到影响。

警告

工单驱动程序用于搜索工单，即使规则包含信件字段的过滤器。如果信件字段是数据分类的一部分，则将处理匹配工单的所有相关信件！

以下字段可用作工单和信件的搜索词或过滤器。可能的对象过滤器：

- Limit
- TicketID
- TicketNumber
- Title
- Queues
- QueueIDs
- UseSubQueues
- Types
- TypeIDs
- States
- StateIDs
- StateType
- StateTypeIDs
- Priorities
- PriorityIDs
- Services
- ServiceIDs
- SLAs
- SLAIDs
- Locks
- LockIDs
- OwnerIDs
- ResponsibleIDs
- WatchUserIDs
- CustomerID
- CustomerUserLogin
- CreatedUserIDs
- CreatedTypes
- CreatedTypeIDs
- CreatedPriorities
- CreatedPriorityIDs
- CreatedStates
- CreatedStateIDs
- CreatedQueues
- CreatedQueueIDs
- TicketFlag
- ArticleFlag
- MIMEBase_From
- MIMEBase_To
- MIMEBase_Cc
- MIMEBase_Subject
- MIMEBase_Body
- AttachmentName
- FullTextIndex
- ContentSearch
- ContentSearchPrefix
- ContentSearchSuffix
- ConditionInline
- ArticleCreateTimeOlderMinutes
- ArticleCreateTimeNewerMinutes
- ArticleCreateTimeNewerDate
- ArticleCreateTimeOlderDate
- TicketCreateTimeOlderMinutes
- TicketCreateTimeNewerMinutes
- TicketCreateTimeNewerDate
- TicketCreateTimeOlderDate
- TicketChangeTimeOlderMinutes
- TicketChangeTimeNewerMinutes
- TicketLastChangeTimeOlderMinutes
- TicketLastChangeTimeNewerMinutes
- TicketLastChangeTimeNewerDate
- TicketLastChangeTimeOlderDate
- TicketChangeTimeNewerDate
- TicketChangeTimeOlderDate
- TicketCloseTimeOlderMinutes
- TicketCloseTimeNewerMinutes
- TicketCloseTimeNewerDate
- TicketCloseTimeOlderDate
- TicketPendingTimeOlderMinutes
- TicketPendingTimeNewerMinutes
- TicketPendingTimeNewerDate
- TicketPendingTimeOlderDate
- TicketEscalationTimeOlderMinutes
- TicketEscalationTimeNewerMinutes
- TicketEscalationTimeNewerDate
- TicketEscalationTimeOlderDate
- TicketEscalationUpdateTimeOlderMinutes
- TicketEscalationUpdateTimeNewerMinutes
- TicketEscalationUpdateTimeNewerDate
- TicketEscalationUpdateTimeOlderDate
- TicketEscalationResponseTimeOlderMinutes
- TicketEscalationResponseTimeNewerMinutes
- TicketEscalationResponseTimeNewerDate
- TicketEscalationResponseTimeOlderDate
- TicketEscalationSolutionTimeOlderMinutes
- TicketEscalationSolutionTimeNewerMinutes
- TicketEscalationSolutionTimeNewerDate
- TicketEscalationSolutionTimeOlderDate
- ArchiveFlags

所有可能的对象过滤器参数都可以用于过滤工单和信件。大多数属性可以是单个字符串或数组引用，例如：

TicketNumber: 123546
TicketNumber:
  - 123546
  - 123666

Title: SomeText
Title:
  - SomeTest1
  - SomeTest2

States:
  - new
  - open
StateIDs:
  - 3
  - 4

相应的YAML代码如下所示：

RuleName: My Explanation Rule
RuleType: PrivacyByDeletion
RuleSource: GDPR
DataClassification:
  Ticket:
    - CustomerUserID
    - CustomerID
ObjectFilter:
  Ticket:
    Queue:
      - Junk
      - Raw
    Services:
      - Service A
      - Service B

此规则将查找位于队列 Junk 或 Raw 中并已分配服务 service A 或 service B 的所有工单。字段 CustomerUserID 和 CustomerID 将被删除。

关于相对时间和日期，有几个可能的过滤器参数，例如：

- ArticleCreateTimeOlderMinutes
- ArticleCreateTimeNewerMinutes
- ArticleCreateTimeNewerDate
- ArticleCreateTimeOlderDate

像 *\*TimeOlderMinutes* 这样的过滤器意味着 超过X分钟。

以下语句的意思是：所有 CreateTime（创建时间） 早于一天（1440分钟）的工单。

TicketCreateTimeOlderMinutes: 1440

以下语句的意思是：所有 CreateTime（创建时间） 少于一天（1440分钟）的工单。

TicketCreateTimeNewerMinutes: 1440

这对于使用此语法的所有过滤器参数都是有效的。

有关单个搜索参数的更多说明，请查看 API 参考中的TicketSearch()。

规则配置示例

下面是一些规则配置示例。这些示例是有效的YAML代码。您可以复制这些示例并根据需要修改它们。

按超过一个月的状态名称删除工单标题：

---
RuleName: Delete ticket titles by state names, that are older than one month.
RuleSource: GDPR
RuleType: deletion
DataClassification:
  Ticket:
    - Title
ObjectFilter:
  Ticket:
    State:
      - new
      - open
    TicketCreateTimeOlderMinutes: 43200

按位于特定队列中的状态名称删除信件主题和正文：

---
RuleName: Delete article subject and body by state names, that are located in specific queues.
RuleSource: GDPR
RuleType: deletion
DataClassification:
  Ticket:
    - Subject
    - Body
ObjectFilter:
  Ticket:
    State:
      - new
      - open
    Queues:
      - Postmaster
      - Misc

对已关闭和存档的工单的客户用户ID 进行假名化：

---
RuleName: Pseudonymize customer user IDs for tickets, that are closed and archived.
RuleSource: GDPR
RuleType: PrivacyByPseudonymization
DataClassification:
  Ticket:
    - CustomerUserID
ObjectFilter:
  Ticket:
    StateType:
      - Closed
    ArchiveFlags:
      - y

对已关闭、具有某些服务且位于特定队列中的工单的客户ID 和一些动态字段进行匿名化：

---
RuleName: Anonymize Customer IDs and some dynamic fields, that are closed, have certain services and are located in specific queues.
RuleSource: GDPR
RuleType: PrivacyByAnonymization
DataClassification:
  Ticket:
    - CustomerID
    - DynamicField_SensitiveNames
    - DynamicField_SensitiveLocations
ObjectFilter:
  Ticket:
    StateType:
      - Closed
    Queue:
      - Special Queue A
      - Junk
    Services:
      - Sensitive Customer Service
      - VIP Customer Service

用户驱动程序

用户驱动程序提供搜索和修改用户信息的功能。

可能的数据分类:

- UserTitle
- UserFirstname
- UserLastname
- UserEmail
- UserMobile

可能的对象过滤器：

- UserFirstname
- UserLastname
- UserLogin
- UserTitle
- CreateTime
- Valid
- Limit
- UserPreferences
- WildcardSearch

对象过滤器说明：

Limit（限制）:限制搜索结果的数量。

CreateTime（创建日间）:搜索日期 大于或等于 (>=)给定的时间。

Valid（有效性）:搜索有效或无效的用户。可能的值是0或1。

WildcardSearch（通配符搜索）：影响对象过滤器 UserFirstname、 UserLastname、 UserLogin 和 UserTitle。

UserPreferences（用户首选项）：包含用户首选项(如用户电子邮件地址作为键，某些搜索条件作为值)的数组(请参阅YAML配置示例)。

规则配置示例

下面是一些规则配置示例。这些示例是有效的YAML代码。您可以复制这些示例并根据需要修改它们。

按用户的名字删除用户的名字:

---
RuleName: Delete user first names by user first name.
RuleSource: GDPR
RuleType: PrivacyByDeletion
DataClassification:
  User:
  - UserFirstname
ObjectFilter:
  User:
    UserFirstname: someFirstname

按用户电子邮件删除用户名字和姓氏：

---
RuleName: Delete user first names and user last names by user email.
RuleSource: GDPR
RuleType: PrivacyByDeletion
DataClassification:
  User:
  - UserFirstname
  - UserLastname
ObjectFilter:
  User:
    UserPreferences:
      UserEmail: someMail@example.com

在使用通配符搜索的情况下，删除用户的名字和姓氏：

---
RuleName: Delete user first names and user last names with wildcard search.
RuleSource: GDPR
RuleType: PrivacyByDeletion
DataClassification:
  User:
    - UserFirstname
    - UserLastname
ObjectFilter:
  User:
    UserFirstname: someFirstname
    WildcardSearch: 1

按用户的名删除用户名字并创建时间（大于指定日期或等于指定日期）：

---
RuleName: Delete user first names by user first name and create time, which are greater than or equal with the specified date.
RuleSource: GDPR
RuleType: PrivacyByDeletion
DataClassification:
  User:
    - UserFirstname
ObjectFilter:
  User:
    CreateTime: 2019-01-01
    UserFirstname: someFirstname

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

删除附件

启用自动删除在可定义时间范围内关闭的工单附件。

此外，文件类型可以定义为其它过滤条件。 例如：

.pdf

.doc

.xls

等等

优点

通过自动删除节省时间。

减少管理工作。

目标组

人力资源

内部和外部IT

金融

公共机构

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSDeleteAttachments

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面。

系统配置

本软件包不是开箱即用的，必须首先由管理员进行配置。

转到 系统配置 屏幕。

在 导航 小部件中选择 OTRSDeleteAttachments 。

导航到导航树中的 Core → Ticket。

添加一些文件 MIME 类型到设置 OTRSDeleteAttachments::Filetypes 的键值对。键是 MIME 类型，值是删除标志。

0：此类型的附件不可删除。

1：此类附件将被删除。

文件类型设置

自动文件类型填充

有一个控制台命令 Maint::Ticket::Attachment::AddMIMETypes 可以自动填充系统配置设置。

otrs> /opt/otrs/bin/otrs.Console.pl Maint::Ticket::Attachment::AddMIMETypes
Searching attachment types received the last 90 days...
|       Added undefined MIME type: application/x-yaml
|       Added undefined MIME type: image/png
|       Added undefined MIME type: text/html
|       Added undefined MIME type: application/pdf
|       Added undefined MIME type: text/plain
Updating SysConfig...
Done.

注解

该控制台命令只收集在最近90天内接收到的、已关闭工单的附件的MIME类型。

从工单中删除附件

附件删除是通过控制台命令 Maint::Ticket::Attachment::Delete 执行的。检查以下设置以自定义作业:

OTRSDeleteAttachments::Queues

由控制台命令 Maint::Ticket::Attachment::Delete 处理的队列列表(通过名称指定)。

警告

如果没有定义队列，所有队列都会受到影响。

OTRSDeleteAttachments::TimePeriod

从工单关闭的时间开始，应倒退的时间段（以天为单位）。

OTRSDeleteAttachments::TimeSpan

从当前时间到工单关闭（要删除工单的附件）时间之间的最小时间间隔（以天为单位）。

如果 TimeSpan 的值为 1，TimePeriod 的值为 30，则表示符合删除附件条件的工单是30天前到昨天关闭的工单。

                   Eligible tickets
             |=========================|
         TimePeriod                TimeSpan
|------------|------------|------------|------------|
31 days ago  30 days ago  15 days ago  1 day ago    Today

参见

控制台命令 Maint::Ticket::Attachment::Delete 还有其它一些选项。 运行带有 --help 选项的命令以查看可能性。

otrs> /opt/otrs/bin/otrs.Console.pl Maint::Ticket::Attachment::Delete --help

自动执行

OTRS守护进程可以在后台运行更新文件类型和删除附件。 启用以下设置以定期运行作业：

Daemon::SchedulerCronTaskManager::Task###OTRSDeleteAttachments

从工单中删除附件。

Daemon::SchedulerCronTaskManager::Task###OTRSDeleteAttachments_AddMIMETypes

填充用于删除附件的系统配置MIME类型。

注解

不要忘记在更改系统配置之后重新启动OTRS守护进程。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

数据库类型的动态字段

集成来自任意数量外部数据库(如ERP、CRM、跟踪或其它工单系统)的数据，并将其显示在动态字段中。然后可以搜索这些记录并使用附加的掩码进行预过滤。

优点

搜索、过滤（例如，根据客户数据）和覆盖工单数据时节省的时间。

所有数据都可以在 OTRS 中集中访问。

自动将附加数据传输到记录中。

目标组

投诉管理

客户服务

文档管理

设施管理

人力资源

IT

IT服务

项目管理

安全管理

服务提供商

供应链管理

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSDynamicFieldDatabase

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

这个软件包包含一个配置界面，用于创建类型为 数据库 的动态字段。这些字段可以将来自外部数据库的数据存储在动态字段中，并在不同的视图中显示它们。可以使用其它掩码搜索和过滤这些连接的数据集。

目录

流程和自动化

动态字段

动态字段设置

存储历史数据

流程和自动化

这个软件包使得创建类型为 数据库 的动态字段成为可能，它可以将来自外部数据库的数据存储在工单中。

目录

动态字段

动态字段设置

数据库动态字段设置

存储历史数据

动态字段

安装本软件包后，一个新的动态字段类型 数据库 将可用于工单。

This dynamic field can be created the same way as default dynamic fields are created. For this navigate to the Dynamic Fields module of the Processes & Automation group in the administrator interface. In this screen you can select the Database field from the drop-down lists on the left side.

参见

The usage of dynamic fields and the general dynamic field settings are described in the Dynamic Fields chapter of the administrator manual.

动态字段设置

在搜索外部数据库并通过动态字段将结果保存在工单之前，必须将凭据存储在动态字段的配置中。

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

数据库动态字段设置

数据库类型的动态字段用于存储工单的数据库记录。

数据库动态字段设置

可能值

可能的值将自动填充下面的 标识符 字段，该字段定义将存储在动态字段中的值。 可以根据需要创建尽可能多的值（或者至少创建与数据库表一样多的表列）。 可能的值定义了要搜索的数据库列。可以设置列名称，字段应具有的描述（标签），所需的数据类型以及该字段是搜索字段还是列表字段。

名称 *

通过数据库查询请求的数据库列的确切名称。

标签 *

将在详细搜索中显示的字段标签。

数据类型 *

将存储在动态字段中的数据类型。 可能的值：Date（日期）、Integer（整数） 或 Text（文本）。

过滤器

使用过滤器字段，可以选择一个工单属性或一个动态字段作为相关列的过滤器。如果动态字段绑定到一个相关的工单，那么属性将用于过滤机制，否则过滤器将被忽略。如果将过滤器配置为表列，则仅显示与搜索项和所配置列上的相关工单属性匹配的搜索结果。

搜索字段

指示一个字段是否应包含在搜索请求中。

列表区域

指示一个字段是否应在结果中显示。

添加值

单击+图标，向 可能的值 添加一个新部分。

显示链接

Here you can specify an optional HTTP link for the field value displayed in overviews and detail views. If special characters (&, @, :, /, etc.) should not be encoded, use url instead of uri filter.

预览链接

If filled in, this URL will be used for a preview which is shown when this link is hovered in ticket detail view. Please note that for this to work, the regular URL field above needs to be filled in, too.

类型 *

可以在此处选择所需数据库的类型。 默认支持的OTRS数据库类型：MySQL、Oracle、PostgreSQL或MSSQL。

SID（实例名）

此选项仅适用于Oracle连接，并将自动显示或隐藏。 在此选项中，您必须输入Oracle连接的SID。

驱动程序

此选项仅适用于ODBC连接，并且将自动显示或隐藏。 在此选项中，您必须输入主机系统中先前配置的ODBC驱动程序以连接到所需的MSSQL数据库。

服务器 *

数据库主机（主机名或IP地址）。

端口

数据库服务器的端口。

数据库 *

定义所需的DBMS目标数据库。 该数据库将用于查询。

表/视图 *

用于查询的表或视图。

用户 *

数据库连接的用户名。

密码 *

数据库连接的用户密码。

标识符 *

该选择框将通过 可能的值 自动填充。 该字段表示将存储在动态字段中的值。 必须是 表/视图 中输入的表中的唯一性约束列。

多选框

如果选择此字段，则有可能在动态字段中存储多个值。 这些值将以逗号分隔存储。

缓存TTL

此值以秒为单位定义数据库高速缓存的有效期。 在此期间，对数据库的相同查询将通过缓存（本地文件系统）回答，而不是再次查询数据库。

Search Prefix

使用自动完成功能搜索数据库时，此值将放在每个搜索词的前面。 还支持通配符。 在详细搜索期间，搜索前缀将被忽略，但是仍可以在这些掩码中使用通配符。

Search Suffix

使用自动完成功能搜索数据库时，此值将放在每个搜索词的末尾。 还支持通配符。 在详细搜索期间，将忽略搜索后缀，但是仍然可以在这些掩码中使用通配符。

限制返回结果

输入的整数值定义在数据库搜索期间允许的最大结果量。 这包括自动完成搜索以及详细搜索。

区分大小写

如果选择此字段，区分大小写将对搜索生效。

注解

不要忘记向工单视图屏幕添加新的动态字段。

存储历史数据

该模块提供了存储历史数据的功能。 为此，必须在导航路径 Core → DynamicFieldDatabase 中可用的系统配置中激活并设置设置。

在 SourceDynamicField 的配置选项中，需要填写已经创建的动态字段名称，该名称将用于收集历史数据。 在相关选项 TargetDynamicField 中，必须使用连接的外部数据库的表列填充键，该列将被读出。 对于每一列，必须在字段内容中配置相关的目标动态字段。 收集的数据将保存在这些动态字段中。

如果配置就绪且处于活动状态，则将从外部数据库中读取已配置的字段，因为源字段会通过已配置的遮罩窗口获取新值。 数据将通过一个事件模块按其存储的标识符进行搜索，找到的值将存储在目标动态字段中。

服务人员界面

本软件包没有服务人员界面，但是数据库类型的动态字段可以添加到许多屏幕。

搜索和保存数据集

在某些屏幕(如 新建电话工单， 新建电子邮件工单)中激活创建的动态字段后，将出现一个带有名称的新文本字段，动态字段将在配置中得到。在这个字段中，可以输入搜索项，从而对所有配置的数据库字段执行搜索。否则，单击 详细搜索 链接并启动详细搜索，其中要搜索的字段被显式地选中。每个字段中都允许使用通配符 *。

不管使用自动完成还是详细搜索，每个结果都只能选择一次。如果一个服务人员尝试多次选择一个值，则会显示相关的警告消息。

自动完成

由于搜索项是在文本字段中键入的，因此将在配置的列上启动数据库搜索，结果将通过文本字段下方的自动完成显示。搜索项越精确，结果就越精确(结果项越少)。

如果希望的值显示在结果中，则可以通过鼠标单击或通过键盘选择它，因此可以将其添加到动态字段结果中。

通过 详细 链接，可以访问一个弹出屏幕，其中提供了有关整个结果行的详细信息。 此信息包括行标题和数据。 此信息可用于获取有关其余（未配置的）列的概述或比较数据。 可以通过减号按钮删除添加的结果条目。

详情搜索

详细 链接将打开一个新的模态对话框，以开始新的数据库搜索。 在此遮罩窗口中，可以选择要显式搜索的字段。

默认情况下，第一个可用字段是激活的，但也可以删除可用字段或添加其它字段。搜索只考虑已激活和已填充的字段。每个字段中都允许使用通配符 *。

数据库搜索将通过 开始搜索 按钮执行，结果将以表格形式显示。如果搜索成功，将列出结果，并且可以通过鼠标单击选择其中一个条目。之后，该值将被添加到保存的值列表中。

外部人员界面

本软件包没有外部人员界面，但可以将数据库类型的动态字段添加到多个屏幕上。

本软件包中添加的特性与 服务人员界面 中描述的相同。

Web服务类型的动态字段

借助此动态字段，可以显示来自第三方系统的数据，而无需自定义开发。

优点

由于不需要更新第三方系统，因此节省了处理工单的时间。

数据管理不必在 OTRS 内进行。

通过XSLT映射模块执行任意复杂的映射。

目标组

投诉管理

客户服务

开发

文档管理

电子商务

IT

IT服务

项目管理

安全管理

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSDynamicFieldWebService

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

此功能实现了通用动态字段类型 Web服务，该类型使用Web服务从外部系统收集其可选选项。

外部系统的响应定义了可能显示的选项，并且这些选项可能会根据请求中发送的数据而有所不同。 通常，当在屏幕中改变字段时（例如，在 新建电话工单 屏幕中的工单优先级），可以更新其它字段的值。 这种类型的动态字段就是这种情况，因为它们也可以包括请求中的所有屏幕字段值，并且远程服务器可能根据输入返回完全不同的值。

Additionally if the dynamic field source object already exists (e. g. a ticket, and the field is set in the Change Free Fields action), the details of the already created ticket are also included in the request.

目录

流程和自动化

动态字段

动态字段设置

Web服务

流程和自动化

本软件包可以创建 Web 服务 类型的动态字段，该字段可以将外部系统中的数据存储在工单中。

目录

动态字段

动态字段设置

Web服务动态字段设置

Web服务

动态字段

安装本软件包后，新的动态字段类型 Web 服务 将可用于工单。

This dynamic field can be created the same way as default dynamic fields are created. For this navigate to the Dynamic Fields module of the Processes & Automation group in the administrator interface. In this screen you can select the Web Service field from the drop-down lists on the left side.

参见

The usage of dynamic fields and the general dynamic field settings are described in the Dynamic Fields chapter of the administrator manual.

动态字段设置

在创建使用此类Web服务的新动态字段之前，必须拥有一个已经运行的Web服务。

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

Web服务动态字段设置

Web服务类型的动态字段用于存储来自外部系统的工单数据。

Web服务动态字段设置

Web服务 *

配置的Web服务，在显示动态字段时将触发其调用程序。

调用程序 *

用于将请求发送到外部系统的调用程序。 在此字段中，将仅显示类型为 Generic::PassThrough 的调用程序。

多选框

用于确定显示的动态字段是否应充当多选字段而不是下拉字段的下拉菜单。

缓存TTL

生存时间值的缓存时间，其中包含一个值（以分钟为单位）。 如果值为0或为空，则不会激活任何缓存。 此缓存是为了防止使用相同的值向远程服务器发出不必要的请求。

添加空值

定义是否可以在字段中保存空值。

树形视图

如果以正确的格式提供可选值，则此选项将激活可能值的树形视图。

可翻译的值

如果激活此选项，这些值将被转换为用户定义的语言。

注解

您需要将翻译手动添加到语言翻译文件中。

显示链接

Here you can specify an optional HTTP link for the field value displayed in overviews and detail views. Optional HTTP link works only for single-select fields. If special characters (&, @, :, /, etc.) should not be encoded, use url instead of uri filter.

预览链接

If filled in, this URL will be used for a preview which is shown when this link is hovered in ticket detail view. Please note that for this to work, the regular URL field above needs to be filled in, too.

注解

不要忘记向工单视图屏幕添加新的动态字段。

Web服务

要创建类型为 Web服务 的新动态字段，必须有一个已经运行的Web服务。它需要至少有一个类型为 Generic::PassThrough 的调用程序。将调用此调用程序从远程服务器获取数据。在请求中发送的原始数据与下面的示例类似。

{
    DynamicFieldID    => 123,
    DynamicFieldLabel => 'NameX',
    DynamicFieldName  => 'NameX',
    DynamicFieldValue => 'Value',
    Form => {
        # Form fields
        # ...
    },
    Ticket => {
        # Ticket attributes
        # ...
    },
    DynamicField => {
        NameX => 'Value'
        NameY => [ 'Value' ],
    },
    UserID => 123,
},

Form

此部分包含web浏览器中当前表单中的字段。这些信息随着屏幕的填充而改变。

Ticket

此部分(或另一个源对象，例如 CustomerUser)包含动态字段所属对象的属性。

For example in the New Phone Ticket screen the section is empty as the ticket is not created yet, but in the Change Free Fields screen it contains the information of the current ticket.

DynamicField

此部分包含当前对象的所有已配置动态字段的所有非空值。

在大多数情况下，远程服务器需要的数据与所提供的数据有很大的不同，因此强烈建议使用针对传出数据的映射模块来专门为远程服务器调用格式化数据。

以下传出映射示例显示了一个XSLT映射，该映射将丢弃任何数据并设置固定的 UserLogin、 Password 和 TicketID``（ ``TicketGet 操作需要）。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform
    xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
    xmlns:date="https://exsalt.org/dates-and-times"
    version="1.0"
    extension-element-prefixes="date">

    <xsl:output method="xml" encoding="utf-8" indent="yes" />

    <!-- Don't return unmached tags -->
    <xsl:template match="text()" />

    <!-- Remove empty elements -->
    <xsl:template match="*[not(node())]" />

    <!-- Root template -->
    <xsl:template match="/">
        <RootElement>
            <UserLogin>someuser</UserLogin>
            <Password>somepassword</Password>
            <TicketID>1</TicketID>
        </RootElement>
    </xsl:template>

</xsl:transform>

服务器的响应也可能非常不同，因此在这种情况下，也强烈建议对输入的数据使用映射模块，以便能够处理信息。 响应必须是键和值元素的列表。

以下传入映射示例显示了一个XSLT映射，该映射将转换来自远程服务器的 TicketGet 操作响应的结果，并根据需要提取和格式化状态和队列，以用作动态字段的选项。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform
    xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
    xmlns:date="https://exsalt.org/dates-and-times"
    version="1.0"
    extension-element-prefixes="date">

    <xsl:output method="xml" encoding="utf-8" indent="yes" />

    <!-- Don't return unmached tags -->
    <xsl:template match="text()" />

    <!-- Remove empty elements -->
    <xsl:template match="*[not(node())]" />

    <!-- Root template -->
    <xsl:template match="/">
        <RootElement>
            <xsl:apply-templates />
        </RootElement>
    </xsl:template>

    <xsl:template match="/*/Ticket">
        <PossibleValue>
            <Key>State</Key>
            <Value>
                <xsl:value-of select="/*/Ticket/State" />
            </Value>
        </PossibleValue>
        <PossibleValue>
            <Key>Queue</Key>
            <Value>
                <xsl:value-of select="/*/Ticket/Queue" />
            </Value>
        </PossibleValue>
    </xsl:template>

</xsl:transform>

以下Web服务定义（可导入的YAML文件）可以用于测试该字段，但是必须对端点进行调整以匹配当前系统。 该Web服务充当请求者和提供者的角色，并且始终将 TicketID 为1的状态和队列作为可能的值返回到字段。

注解

此示例不应与开发Web服务器一起使用。

---
Debugger:
  DebugThreshold: debug
  TestMode: '0'
Description: Dynamic Field Web Service Test
FrameworkVersion: 7.0.x git
Provider:
  ErrorHandling: {}
  ErrorHandlingPriority: []
  Operation:
    TicketGet:
      Description: ''
      IncludeTicketData: ''
      MappingInbound: {}
      MappingOutbound: {}
      Type: Ticket::TicketGet
  Transport:
    Config:
      AdditionalHeaders: ~
      MaxLength: '100000000'
      NameSpace: https://www.otrs.org/TicketConnector/
      RequestNameFreeText: ''
      RequestNameScheme: Plain
      ResponseNameFreeText: ''
      ResponseNameScheme: Response
    Type: HTTP::SOAP
RemoteSystem: ''
Requester:
  ErrorHandling: {}
  ErrorHandlingPriority: []
  Invoker:
    TicketGet:
      Description: Get possible values from the other side.
      Events: []
      MappingInbound:
        Config:
          Template: |-
              <?xml version="1.0" encoding="UTF-8"?>
              <!--
              Copyright (C) 2001-2019 OTRS AG, https://otrs.com/
              This software comes with ABSOLUTELY NO WARRANTY. For details, see
              the enclosed file COPYING for license information (GPL). If you
              did not receive this file, see https://www.gnu.org/licenses/gpl.txt.
              -->

              <!-- DOCUMENTATION

              * Example XML Input *
              <RootElement>
                  ...
              </RootElement>

              * Example XML Output *
              <RootElement>
                  <PossibleValues>
                      <Key>???</Key>
                      <Value>???</Value>
                  </PossibleValues>
                  <PossibleValues>
                      <Key>???</Key>
                      <Value>???</Value>
                  </PossibleValues>
                  ...
              </RootElement>

              -->

              <xsl:transform
                  xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
                  xmlns:date="https://exslt.org/dates-and-times"
                  version="1.0"
                  extension-element-prefixes="date">

                  <xsl:output method="xml" encoding="utf-8" indent="yes" />

                  <!-- Don't return unmatched tags -->
                  <xsl:template match="text()" />

                  <!-- Remove empty elements -->
                  <xsl:template match="*[not(node())]" />

                  <!-- Root template -->
                  <xsl:template match="/">
                      <RootElement>
                          <xsl:apply-templates />
                      </RootElement>
                  </xsl:template>

                  <xsl:template match="/*/Ticket">
                      <PossibleValue>
                          <Key>State</Key>
                          <Value><xsl:value-of select="/*/Ticket/State" /></Value>
                      </PossibleValue>
                      <PossibleValue>
                          <Key>Queue</Key>
                          <Value><xsl:value-of select="/*/Ticket/Queue" /></Value>
                      </PossibleValue>
                  </xsl:template>

              </xsl:transform>
        Type: XSLT
      MappingOutbound:
        Config:
          Template: |-
              <?xml version="1.0" encoding="UTF-8"?>
              <!--
              Copyright (C) 2001-2019 OTRS AG, https://otrs.com/

              This software comes with ABSOLUTELY NO WARRANTY. For details, see
              the enclosed file COPYING for license information (GPL). If you
              did not receive this file, see https://www.gnu.org/licenses/gpl.txt.
              -->

              <!-- DOCUMENTATION

              * Example XML Input *
              <RootElement>
                 ...
              </RootElement>

              * Example XML Output *
              <RootElement>
                  <PossibleValues>
                      <Key>???</Key>
                      <Value>???</Value>
                  </PossibleValues>
                  <PossibleValues>
                      <Key>???</Key>
                      <Value>???</Value>
                  </PossibleValues>
                  ...
              </RootElement>

              -->

              <xsl:transform
                  xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
                  xmlns:date="https://exslt.org/dates-and-times"
                  version="1.0"
                  extension-element-prefixes="date">
                  <xsl:output method="xml" encoding="utf-8" indent="yes" />

                  <!-- Don't return unmatched tags -->
                  <xsl:template match="text()" />

                  <!-- Remove empty elements -->
                  <xsl:template match="*[not(node())]" />

                  <!-- Root template -->
                  <xsl:template match="/">
                      <RootElement>
                          <UserLogin>someuser</UserLogin>
                          <Password>somepassword</Password>
                          <TicketID>1</TicketID>
                      </RootElement>
                  </xsl:template>

              </xsl:transform>
        Type: XSLT
      Type: Generic::PassThrough
  Transport:
    Config:
      Encoding: ''
      Endpoint: https://localhost/otrs/nph-genericinterface.pl/Webservice/GenericConfigItemConnectorSOAP
      NameSpace: https://www.otrs.org/TicketConnector/
      RequestNameFreeText: ''
      RequestNameScheme: Plain
      ResponseNameFreeText: ''
      ResponseNameScheme: Response
      SOAPAction: Yes
      SOAPActionSeparator: '#'
      SSL:
        SSLProxy: ''
        SSLProxyPassword: ''
        SSLProxyUser: ''
    Type: HTTP::SOAP
  UseMappedData: '1'

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

隐藏/显示动态字段

动态字段可扩展工单中存储的信息以及 OTRS 的单独配置。 但是，动态字段出现在错误的上下文中时也会引起混乱。

内部IT部门流程的典型示例是 OTRS 中的硬件或软件订购。 动态字段可通过下拉列表帮助构建此订单流程。 例如，在选择了要订购的硬件之后，功能插件可确保在下一步中仅出现适当的选择，例如：显示器、键盘和打印机。 为软件定义的动态字段（如文字处理、图像处理或电子表格软件）将不会显示。

优点

为用户提供清晰明了的信息。

在服务人员和外部人员界面中灵活配置工单信息。

更快、更准确地输入信息，为您的员工和客户节省时间。

目标组

IT服务

投诉管理

电子商务

供应链管理

IT支持

销售

市场营销

采购流程

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSHideShowDynamicFields

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

This package has no administrator interface, but the function can be used in agent and external interface. The following ticket creation, ticket and article action forms can be configured:

Forms###AgentFrontend::TicketCreate::Email::CreateProperties
Forms###AgentFrontend::TicketCreate::Phone::CreateProperties
Forms###AgentFrontend::TicketCreate::Process::CreateProperties
Forms###AgentFrontend::TicketCreate::SMS::CreateProperties
Forms###AgentFrontend::Ticket::Action::Close
Forms###AgentFrontend::Ticket::Action::Customer
Forms###AgentFrontend::Ticket::Action::EmailOutbound
Forms###AgentFrontend::Ticket::Action::FreeText
Forms###AgentFrontend::Ticket::Action::Merge
Forms###AgentFrontend::Ticket::Action::Move
Forms###AgentFrontend::Ticket::Action::Note
Forms###AgentFrontend::Ticket::Action::Owner
Forms###AgentFrontend::Ticket::Action::Pending
Forms###AgentFrontend::Ticket::Action::PhoneCallInbound
Forms###AgentFrontend::Ticket::Action::PhoneCallOutbound
Forms###AgentFrontend::Ticket::Action::Priority
Forms###AgentFrontend::Ticket::Action::Responsible
Forms###AgentFrontend::Ticket::Action::SmsOutbound
Forms###AgentFrontend::TicketArticle::Action::Forward
Forms###AgentFrontend::TicketArticle::Action::Redirect
Forms###AgentFrontend::TicketArticle::Action::Reply
Forms###AgentFrontend::TicketArticle::Action::ReplyAll
Forms###AgentFrontend::TicketArticle::Action::ReplyToNote
Forms###AgentFrontend::TicketArticle::Action::ReplyViaSms
ExternalFrontend::TicketCreate::DynamicFields
ExternalFrontend::TicketDetailView###FollowUpDynamicField

示例用法

目标：

如果选择了品牌 VW（大众），则所有动态字段均应隐藏，仅显示 VW Model。

如果选择了大众车型 Up，则应显示除 标致车型 和 标致生产设施 字段外的所有动态字段。

创建以下动态字段：

对象

类型

名称

标签

可能值

工单

下拉选择框

Brand

品牌

VW → VW（大众）

Peugeot → Peugeot（标致）

工单

下拉选择框

VWModel

大众车型

Up → Up

Polo → Polo

Golf → Golf

T5 → T5

工单

下拉选择框

VWProductionFacility

VW Production Facility（大众汽车生产设施）

Barcelona → Barcelona（巴塞罗那）

Berlin → Berlin（柏林）

Bratislava → Bratislava（布拉迪斯拉发）

工单

下拉选择框

PeugeotModel

Peugeot Model（标致车型）

207 → 207

307 → 307

工单

下拉选择框

PeugeotProductionFacility

标致生产设施

Poissy → Poissy（普瓦西）

Madrid → Madrid（马德里）

Trnava → Trnava（斯洛伐克特尔纳瓦）

工单

下拉选择框

Fuel

燃料

Gasoline → Gasoline（汽油）

Diesel → Diesel（柴油）

Gas → Gas（天然气）

工单

多选框

Accessories

配饰

CDRadio → CD Radio

GPS → GPS

ProximitySensors → Proximity Sensors(接近传感器)

RearCamera → Rear Camera（后置摄像头）

ClimateControl → Climate Control(温度控制)

工单

多行文本

Remarks

评论

工单

日期

RegistrationDate

注册日期

工单

日期

InvoiceDate

发票日期

Add the dynamic fields to the New Phone Ticket screen via setting Forms###AgentFrontend::TicketCreate::Phone::CreateProperties:

- Label: Dynamic Fields
  Collapsible: 1
  Fields:
  - Name: DynamicField_Brand
  - Name: DynamicField_VWModel
  - Name: DynamicField_VWProductionFacility
  - Name: DynamicField_PeugeotModel
  - Name: DynamicField_PeugeotProductionFacility
  - Name: DynamicField_Fuel
  - Name: DynamicField_Accessories
  - Name: DynamicField_Remarks
  - Name: DynamicField_RegistrationDate
  - Name: DynamicField_InvoiceDate

导入此ACL：

---
- ChangeBy: root@localhost
  ChangeTime: 2019-07-22 11:44:25
  Comment: ''
  ConfigChange:
    PossibleNot:
      Form:
      - PeugeotModel
      - PeugeotProductionFacility
      - Accessories
      - Fuel
      - Remarks
      - RegistrationDate
      - InvoiceDate
  ConfigMatch:
    Properties:
      Ticket:
        DynamicField_Brand:
        - VW
  CreateBy: root@localhost
  CreateTime: 2019-07-22 11:40:43
  Description: ''
  ID: 1
  Name: ACL-VW
  StopAfterMatch: 0
  ValidID: 1

详细说明：

DynamicField_Brand:
- VW

此ACL规则的条件。如果选择了品牌 VW（大众），则规则将生效。数组包含使用的可能值。这些是数据库中 dynamic_field 表 config 列中的键。在本例中，它是一个类型为 下拉 的动态字段。

Form:

这个软件包在 Possible、PossibleAdd 和 PossibleNot ACL 变更部分引入了 Form 键作为新选项。Form 保存动态字段可见性的配置。

PossibleNot:
  Form:
  - PeugeotModel
  - PeugeotProductionFacility
  - Accessories
  - Fuel
  - Remarks
  - RegistrationDate
  - InvoiceDate

本节列出了不可见的动态字段。 在此示例中，动态字段 VW Model（大众车型） 和 VW Production Facility（大众汽车生产设施） 是可见的。 所有其它动态字段将被隐藏。

导入第二个ACL：

---
- ChangeBy: root@localhost
  ChangeTime: 2019-07-22 12:06:24
  Comment: ''
  ConfigChange:
    Possible:
      Ticket:
        DynamicField_Accessories:
        - CD Radio
        - Climate Control
        DynamicField_Fuel:
        - Gasoline
        DynamicField_VWProductionFacility:
        - Bratislava
    PossibleAdd:
      Form:
      - Accessories
      - Fuel
      - Remarks
      - RegistrationDate
      - InvoiceDate
    PossibleNot:
      Form:
      - PeugeotModel
      - PeugeotProductionFacility
  ConfigMatch:
    Properties:
      Ticket:
        DynamicField_Brand:
        - VW
        DynamicField_VWModel:
        - Up
  CreateBy: root@localhost
  CreateTime: 2019-07-22 11:47:02
  Description: ''
  ID: 2
  Name: ACL-VW-Up
  StopAfterMatch: 0
  ValidID: 1

详细说明：

DynamicField_Brand:
- VW
DynamicField_VWModel:
- Up

在此示例中，应满足两个条件。 品牌必须是 VW（大众），而大众车型必须是 Up，此规则才能生效。 仅当服务人员选择品牌 VW 并且 Up 车型时才会触发。

PossibleAdd:
  Form:
  - Accessories
  - Fuel
  - Remarks
  - RegistrationDate
  - InvoiceDate

在这里，VW Model 和 VW Production Facility 的动态字段已经可见并保留，但是 Accessories（配饰）、Fuel（燃料）、Remarks（评论），注册日期 和 发票日期 必须重新添加到可见的字段。 这是在 PossibleAdd 部分中完成的，因为第一个ACL将该字段设置为未显示，并且两个ACL一起工作。 例如，如果在 Possible 部分中进行了此操作，结果将是仅显式显示这些字段，并且 VW Model 和 VW Production Facility 将被隐藏，因为它们不再属于（新的） Possible 部分。

PossibleNot:
  Form:
  - PeugeotModel
  - PeugeotProductionFacility

只有 标致车型 和 标致生产设施 是不可见的（在我们的示例中，如果用户是大众 Up 车，则配置标致车型没有多大意义）。

除了动态字段的可见性之外，还可以仅显示动态字段的某些可能值。 像在这里这样结合到ACL规则中，可以更轻松地处理大型多选。

Possible:
  Ticket:
    DynamicField_Accessories:
    - CD Radio
    - Climate Control
    DynamicField_Fuel:
    - Gasoline
    DynamicField_VWProductionFacility:
    - Bratislava

在我们的示例中，大众 Up 仅具有CD收音机和温度控制作为附加配饰，仅以汽油作为燃料，并且只在布拉迪斯拉发生产。

例如，如果我们有标致207的ACL规则，则可能还有其他配饰、燃料选项和生产地点可供选择。

注解

如果使用基于 DynamicField_NameX 值的 Possible 选项显示动态字段，通常需要包含触发ACL成为要在 Possible 或 PossibleAdd 部分（如果应用）中显示的字段的一部分的动态字段。否则，如果 Possible 或 PossibleAdd 包含其它字段且不是触发器，则在选择该值后将不显示最新的字段。

注解

不能使用此方法更改字段的强制状态。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

Link Object Connector

The main feature of this package is to extend the OTRS generic interface that enables OTRS to accept requests from external systems to interact with the link object.

优点

Accept requests from external systems to interact with the link object.

目标组

开发

IT服务

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSLinkObjectConnector

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

This package has no administrator interface, but extends the web service with new operations.

参见

In order to use this feature, a new web service has to be configured in the Web服务 screen of the administrator interface.

目录

流程和自动化

Web服务

The main feature of this package is to extend the OTRS generic interface that enables OTRS to accept requests from external systems to interact with the link object.

Each operation requires a valid agent user login name and a password or a session ID. This session ID can be obtained using the SessionCreate operation from session connector that is available by default in OTRS.

This package includes the following generic interface operations.

Link::LinkAdd

This operation is used to create a link between two objects.

Link::LinkDelete

This operation is used to remove a link between two objects.

Link::LinkDeleteAll

This operation is used to remove all link of an object.

Link::LinkList

This operation shows all links of an object, optionally restricted by another object, link type and link direction.

Link::PossibleLinkList

This operation shows all possible link types between objects that are registered in the OTRS system.

Link::PossibleObjectsList

This operation shows all objects that can be used for linking.

Link::PossibleTypesList

This operation shows all possible link types between two given objects.

Due to the nature of the generic interface and the operations included in this package an external software is needed to send the requests to the OTRS system.

For testing we recommend the use of:

OTRS Perl SOAP Requester script: some of the variables in this script such as URL, NameSpace and Operation will need to be changed to match the current web service, the operation to be executed and the data to be sent.

SoapUI by SMARTBEAR: this is an open source software designed to test web services using SOAP messages.

用法

The link object feature provides functionality to link items (e.g. tickets, changes) from objects (e.g. Ticket, ITSMChangeManagement) in order to provide a logical connection.

To make easier to read and understand these requests here are some SOAP request templates showing the parameters for each operation.

Link::LinkAdd Request Template

<LinkAdd>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
    <SourceObject>?</SourceObject>
    <SourceKey>?</SourceKey>
    <TargetObject>?</TargetObject>
    <TargetKey>?</TargetKey>
    <Type>?</Type>
    <State>?</State>
</LinkAdd>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SourceObject

Object where the link originates.

SourceKey

ID of the originating object.

TargetObject

Object where the link points to.

TargetKey

ID of the target object.

Type

Type of the link.

State

State of the link, usually Valid.

Link::LinkDelete Request Template

<LinkDelete>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
    <Object1>?</Object1>
    <Key1>?</Key1>
    <Object2>?</Object2>
    <Key2>?</Key2>
    <Type>?</Type>
</LinkDelete>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

Object1

Object where the link originates.

Key1

ID of the originating object.

Object2

Object where the link points to.

Key2

ID of the target object.

Type

Type of the link.

Link::LinkDeleteAll Request Template

<LinkDeleteAll>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
    <Object>?</Object>
    <Key>?</Key>
</LinkDeleteAll>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

Object

Object where the links originate.

Key

ID of the originating object.

Link::LinkList Request Template

<LinkList>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
    <Object>?</Object>
    <Key>?</Key>
    <Object2>?</Object2>
    <State>?</State>
    <Type>?</Type>
    <Direction>?</Direction>
</LinkList>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

Object

Object where the links originate.

Key

ID of the originating object.

Object2

Optional restriction of the object where the links point to.

State

State of the links, usually Valid.

Type

Optional restriction of the link type.

Direction

Optional restriction of the link direction (Source or Target).

Link::PossibleLinkList Request Template

<PossibleLinkList>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
</PossibleLinkList>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

Link::PossibleObjectsList Request Template

<PossibleObjectsList>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
    <Object>?</Object>
</PossibleObjectsList>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

Object

Object where the links originate.

Link::PossibleTypesList Request Template

<PossibleTypesList>
    <UserLogin>?</UserLogin>
    <Password>?</Password>
    <SessionID>?</SessionID>
    <Object1>?</Object1>
    <Object2>?</Object2>
</PossibleTypesList>

UserLogin and Password

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

SessionID

Used for authentication. This is optional, but either a user login with a password or a session ID have to be provided.

Object1

Object where the link originates.

Object2

Object where the link points to.

Examples

The following examples use all objects and types that are available in OTRS using the default configuration. If you have changed the link default configurations, the examples might have to be modified.

Create New Link

This example will show how to create a link, using the Link::LinkAdd generic interface operation.

Send the following SOAP request to the OTRS system.

<LinkAdd>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
    <SourceObject>Ticket</SourceObject>
    <SourceKey>1</SourceKey>
    <TargetObject>Ticket</TargetObject>
    <TargetKey>2</TargetKey>
    <Type>Normal</Type>
    <State>Valid</State>
</LinkAdd>

The server response should be something similar to this one.

<namesp1:LinkAddResponse>
    <Success>1</Success>
</namesp1:LinkAddResponse>

Remove Link

This example will show how to remove the previously created link, using the Link::LinkDelete generic interface operation.

Send the following SOAP request to the OTRS system.

<LinkDelete>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
    <Object1>Ticket</Object1>
    <Key1>1</Key1>
    <Object2>Ticket</Object2>
    <Key2>2</Key2>
    <Type>Normal</Type>
</LinkDelete>

The server response should be something similar to this one.

<namesp1:LinkDeleteResponse>
    <Success>1</Success>
</namesp1:LinkDeleteResponse>

Remove All Links

This example will show how to alternatively remove the previously created link (and all other links of this ticket), using the Link::LinkDeleteAll generic interface operation.

Send the following SOAP request to the OTRS system.

<LinkDeleteAll>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
    <Object>Ticket</Object>
    <Key>1</Key>
</LinkDeleteAll>

The server response should be something similar to this one.

<namesp1:LinkDeleteAllResponse>
    <Success>1</Success>
</namesp1:LinkDeleteAllResponse>

Show All Links

This example will show all links of an object, using the Link::LinkList generic interface operation.

Send the following SOAP request to the OTRS system.

<LinkList>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
    <Object>Ticket</Object>
    <Key>1</Key>
    <State>Valid</State>
</LinkList>

The server response should be something similar to this one.

<namesp1:LinkListResponse>
    <LinkList>
        <Direction>Source</Direction>
        <Key>2</Key>
        <Object>Ticket</Object>
        <Type>Normal</Type>
    </LinkList>
    <LinkList>
        <Direction>Source</Direction>
        <Key>3</Key>
        <Object>Ticket</Object>
        <Type>ParentChild</Type>
    </LinkList>
    <LinkList>
        <Direction>Target</Direction>
        <Key>4</Key>
        <Object>Ticket</Object>
        <Type>ParentChild</Type>
    </LinkList>
</namesp1:LinkListResponse>

Show All Possible Links

This example will show all possible link types between objects, using the Link::PossibleLinkList generic interface operation.

Send the following SOAP request to the OTRS system.

<PossibleLinkList>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
</PossibleLinkList>

The server response should be something similar to this one.

<namesp1:PossibleLinkListResponse>
    <PossibleLinkList>
        <Object1>Ticket</Object1>
        <Object2>Ticket</Object2>
        <Type>Normal</Type>
    </PossibleLinkList>
    <PossibleLinkList>
        <Object1>Ticket</Object1>
        <Object2>Ticket</Object2>
        <Type>ParentChild</Type>
    </PossibleLinkList>
</namesp1:PossibleLinkListResponse>

Show All Possible Objects

This example will show all objects that can be linked to a given object, using the Link::PossibleObjectsList generic interface operation.

Send the following SOAP request to the OTRS system.

<PossibleObjectsList>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
    <Object>Ticket</Object>
</PossibleObjectsList>

The server response should be something similar to this one.

<namesp1:PossibleObjectsListResponse>
    <PossibleObject>Ticket</PossibleObject>
</namesp1:PossibleObjectsListResponse>

Show All Possible Types

This example will show all link types between two given objects, using the Link::PossibleTypesList generic interface operation.

Send the following SOAP request to the OTRS system.

<PossibleTypesList>
    <UserLogin>johnsmith</UserLogin>
    <Password>Secret123</Password>
    <Object1>Ticket</Object1>
    <Object2>Ticket</Object2>
</PossibleTypesList>

The server response should be something similar to this one.

<namesp1:PossibleTypesListResponse>
    <PossibleType>Normal</PossibleType>
    <PossibleType>ParentChild</PossibleType>
</namesp1:PossibleTypesListResponse>

流程和自动化

The functionality needs to be configured in the Web Services module of the administrator interface. The package contains example configurations for both SOAP and REST methods.

目录

Web服务

Web服务

The functionality needs to be configured in the Web Services module of the administrator interface. The package contains example configurations for both SOAP and REST methods.

To import the web service configuration:

转到管理员界面中的 Web服务管理 屏幕。

Click on the Add Web Service button in the left sidebar.

Click on the Import Web Service button in the left sidebar.

Select the file scripts/GenericLinkConnectorSOAP.yml or scripts/GenericLinkConnectorREST.yml within the OTRS home folder.

点击 导入 按钮。

These files contain the complete information to setup the web service. The web service can be customized after the import process, if needed. The result of this process will be the same as the manual procedure explained below, but with some useful comments are added to the operations. The imported web services are ready and able to handle all the new operations provided in this package.

It is possible to setup the configuration manually, if you would not like to use the builtin configuration examples.

注解

The following steps are needed only, when the web services were not imported as explained above.

The following steps are required to provide a full working configuration:

转到管理员界面中的 Web服务管理 屏幕。

Click on the Add Web Service button in the left sidebar.

用以下数据填写表格：

Name: LinkObjectConnector

Debug threshold: Debug

Network transport: HTTP::SOAP

Click on the Save button to enable the Add Operation selection and the Configure button for network transport.

Click on the network transport Configure button to show the transport options.

Use the following parameters:

Namespace: https://otrs.org/LinkObjectConnector/

Maximum message length: 100000

Click on the Save button. Wait until the page refreshes and then click on the Go back to web service button to continue.

The Add Operation selection provides seven new operations for link:

Link::LinkAdd
Link::LinkDelete
Link::LinkDeleteAll
Link::LinkList
Link::PossibleLinkList
Link::PossibleObjectsLst
Link::PossibleTypesList

Add the Link::LinkAdd operation and set the name LinkAdd in the next screen. It does not need any further configuration.

Click on the Save button. Wait until the page refreshes and then click on the Go back to web service button to continue.

Repeat step 9 and step 10 for the other six Link:: operations.

After adding all operations, click on the Save and Finish button from the Edit Web Service: LinkObjectConnector screen.

Now you are on the Web Service Management overview screen and the new web service is ready and able to handle all the new operations provided in this package.

注解

When the new web service is fully tested, the debug threshold could be changed to Notice. This will reduce the amount of data that will be kept in the database and only notice and error messages will be logged.

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

外出

此功能插件 忽略 外出消息。 通常，在处理工单之后，最终消息会发送给客户，表明请求已完成。 然后，工单关闭。 如果邮件收件人打开了外出邮件，则将其发送回 OTRS 作为答复。 这将导致已关闭的工单自动重新打开。 然后，员工必须再次手动关闭工单。 这可能非常耗时，尤其是在您的电子邮件流量频繁的情况下。

通过本功能插件，系统将停止响应外出消息，这意味着在收到这些消息时不会重新打开工单。 您可以灵活配置应忽略哪些外出消息。

优点

过滤外出邮件的单独配置。

已关闭的工单不再通过外出答复打开。

目标组

工单量大的各种规模的公司

经常使用外出功能的人

电子邮件流量频繁的公司

IT 服务管理

客户服务

服务提供商

可在服务包中找到

钛金

OTRS软件包管理器中的软件包名称

OTRSOutOfOffice

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面。

配置

本软件包包括在不更改工单状态的情况下为 X-OTRS-Header 外出的工单创建信件的功能。 如果存在上述标头，该模块还可以防止工单锁定。

要配置此功能：

转到 系统配置 屏幕。

在 导航 小部件中选择 OTRSOutOfOffice。

导航到导航树中的 Core → Email → PostMaster。

激活设置 OTRSOutOfOffice-Header。

在 导航 小部件中选择 OTRS。

导航到导航树中的 Core → Email → PostMaster。

在 PostmasterX-Header 设置中将 X-OTRS-OutOfOffice 标头添加到列表的末尾。

部署设置。

转到管理员界面的 邮箱管理员过滤器 屏幕并添加新的邮箱管理员过滤器。

根据要使用的正则表达式或文本（例如：主题: [外出]），将传入电子邮件的电子邮件标头 X-OTRS-Header 设置为 1。

点击 保存 按钮。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

即开即用的流程

我们日常工作生活中的许多流程都是标准化和重复性的，因此非常适合使用流程模板。

使用模板，可以避免错误，更快地完成任务。结果就是提高质量和效率！

可在 OTRS 中找到以下流程模板：

请假

预定房间

办公用品申请

差旅费

关于材料的投诉

优点

快速执行例行任务。

由于预定义的流程而减少错误。

节省了重复任务的时间。

通过特定的流程保证质量。

编辑当前状态的概览。

自动化选项。

目标组

投诉管理

客户服务

设施管理

人力资源

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSReady2AdoptProcesses

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面，但是它增加了导入即开即用流程的可能性。

目录

流程和自动化

流程管理

流程和自动化

安装本软件包后，流程管理 屏幕中将显示几个正确定义的流程的列表。

目录

流程管理

流程管理

本软件包包含几个预定义流程的示例，这些流程在某些特定情况下可以提供帮助。

以下即开即用流程可从 即开即用流程 小部件获得：

会议室预订

办公用品管理

订单申请管理

请假管理

启动RMA

差旅费

要导入即开即用流程，请执行以下操作：

转到管理员界面中的 流程管理 屏幕。

从左侧边栏的 即开即用流程 小部件中选择一个流程。

单击 导入即开即用流程 按钮。

部署所有流程。

在导入过程中，系统负责创建所需的动态字段和/或系统配置的任何所需更新。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

即开即用的Web服务

您不仅使用 OTRS 的单个实例，还可以使用额外的 OTRS 安装和其它工具。这会使访问数据变得不方便。幸运的是，以下 Web W服务提供了一种解决方法：

Jira连接器

Bugzilla 连接器

OTRS-OTRS 连接器

优点

所有数据都可以在 OTRS 中集中访问。

通过XSLT映射模块执行任意复杂的映射。

目标组

客户服务

开发

IT

IT服务

安全管理

服务提供商

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSReady2AdoptWebServices

注解

本功能插件需要 工单调用程序 功能。

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面，但是它增加了导入即开即用 web服务的可能性。

目录

流程和自动化

Web服务

流程和自动化

安装本软件包后，web服务管理 屏幕中将显示几个正确定义的web服务的列表。

目录

Web服务

Web服务

本软件包包括几个由专家创建的预定义web服务示例。

以下即开即用 web服务可从 即开即用的web服务 小部件获得：

BugzillaConnector 在远程Bugzilla服务器上创建或更新BUG。

JIRAConnector 在远程JIRA服务器上创建或更新问题。

OTRSConnector 在远程OTRS服务器上创建或更新工单。

要导入即开即用的Web服务，请执行以下操作：

转到管理员界面中的 Web服务管理 屏幕。

从左侧栏中的 即开即用的Web服务 小部件中选择一个Web服务。

点击 导入即开即用的Web服务 按钮。

在导入过程中，系统负责创建所需的动态字段和/或系统配置的任何所需更新。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

系统配置历史

系统配置导入和导出在 OTRS 的标准版本中是完全可能的。一份导出始终代表您的完整配置。

使用本功能插件，现在可以单独查看和还原以前的修订。 这使得重置设置变得容易，从而减少了错误和停机时间。 此外，更改是可审核的并且可以进行修订-系统会记录由谁进行的更改。

优点

通过恢复配置来减少错误。

所有设置的详细更改日志。

变更责任。

目标组

IT

安全管理

可在服务包中找到

银牌

OTRS软件包管理器中的软件包名称

OTRSSystemConfigurationHistory

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包添加了两个新屏幕，以查看系统配置设置的历史记录。

目录

系统管理

系统配置

部署历史

设置历史

系统管理

安装本软件包后，新的屏幕将可供管理员查看系统配置部署和特定设置历史记录，并在需要时进行更改。

目录

系统配置

部署历史

设置历史

系统配置

本功能插件将新屏幕添加到 更改部署 屏幕中，并用于各个设置。 这些屏幕将按降序显示最近的部署，以及它们的注释和部署更改的用户的名称。

部署历史

若要查看部署历史：

转到管理员界面的 系统配置 屏幕。

单击 部署 按钮。

单击 历史 按钮。

部署历史屏幕

单击 查看详细信息 旁边的链接，可以进一步检查每个部署。 “详细信息”屏幕可用于在进行部署之前将设置与其先前的值进行比较。

部署详情屏幕

单击两个箭头按钮可以并排比较旧设置和新设置。

部署细节差异

此外，只需单击一下即可恢复较旧的部署（当前状态之前的每个部署）。通过恢复部署，所有设置将恢复到它们在有问题的部署时的值。

最后，可以通过单击导出按钮导出部署。用户将看到一个包含更改设置的YML文件的下载。这个YML文件稍后可以通过系统配置中的 导入和导出 屏幕恢复。

注解

如果历史记录中显示了多个历史记录条目，请使用过滤器框，只需键入要过滤的名称即可查找特定的日志条目。

设置历史

特定的设置历史记录可以通过设置小部件中的 历史 按钮来访问。 此按钮将打开一个屏幕，其中包含针对不同部署的所有值设置。会显示做出更改的用户的姓名和更改时间等信息，以及一个有用的比较工具。

若要查看设置历史：

转到管理员界面的 系统配置 屏幕。

搜索系统配置设置。

打开设置进行编辑，然后单击其顶部以显示按钮。

单击 历史 按钮。

更改历史屏幕

单击小部件右上角的 恢复 按钮，可以恢复每个历史设置值。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

System Monitoring

This module implements a basic interface to system monitoring suites.

注解

A network monitoring system, such as Nagios, Icinga2, HP OpenView or similar, capable of sending out events via email is required to use this package.

For Nagios, it works by receiving email messages sent by a network monitoring suite. New tickets are created in case of component failures. Once a ticket has been opened messages regarding the effected component are attached to this ticket. When the component recovers, the ticket state can be changed or the ticket can be closed. If an open ticket for a given host and service combination exists, all mails concerning this particular combination will be attached to the ticket until it’s closed.

For Icinga2, it works by specifying a host and a service in ticket dynamic fields. This combination of host and service is used after a ticket lock is set to generate a HTTP request which is send to the configured Icinga2 host (please see configuration chapter). In Icinga2, this request is used to create or to confirm new incidents.

可在服务包中找到

No service package needed

OTRS软件包管理器中的软件包名称

SystemMonitoring

目录

管理员界面

Control Flow for Nagios

Icinga2 Acknowledge

流程和自动化

动态字段

服务人员界面

外部人员界面

管理员界面

本章介绍安装该软件包后管理员界面中可用的新功能。

Control Flow for Nagios

The following control flow illustrates how mails are handled by this module and in which cases they trigger which action. Pretty much all checks are configurable using the regular expressions given by the parameters listed below.

Mail matches FromAddress?

NO → Continue with regular mail processing

YES → Does a ticket with matching host and service combination already exist in OTRS?

NO → Does State: match NewTicketRegExp?

NO → Stop processing this mail (silent drop)

YES → Create new ticket, record host and service, attach mail

YES → Attach mail to ticket. Does State: match CloseTicketRegExp?

NO → Continue with regular mail processing

YES → Change ticket type as configured in CloseActionState

Besides of a few additional sanity checks this is how the system monitoring module treats incoming mails. By changing the regular expressions it should be possible to adopt it to different monitoring systems.

Icinga2 Acknowledge

A new ticket is created with values in the specified dynamic fields which are needed as combination of host and service for the communication to the Icinga2 host. After this newly created ticket is locked to an agent, a HTTP request is send to the configured Icinga2 host. In the Icinga2 host a new acknowledge is created or an existing one is confirmed.

目录

流程和自动化

动态字段

新的动态字段

流程和自动化

After installation of the package some new dynamic fields will be added to the system, which are required for working this package properly.

目录

动态字段

新的动态字段

动态字段

This package adds three new dynamic fields to the system.

警告

Do not delete these dynamic fields. They are required to work the system monitoring package properly.

新的动态字段

SystemMonitoring HostName

This dynamic field will store the host name comes from the system monitoring suit.

Internal name: TicketFreeText1

Type: Text

Object: Ticket

SystemMonitoring ServiceName

This dynamic field will store the service name comes from the system monitoring suit.

Internal name: TicketFreeText2

Type: Text

Object: Ticket

SystemMonitoring StateName

This dynamic field will store the state name comes from the system monitoring suit.

Internal name: ArticleFreeText1

Type: Text

Object: Article

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

工单调用程序

本软件包为Web服务添加了两个新调用程序 TicketCreate 和 TicketUpdate 的功能。

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSTicketInvoker

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包将新的设置屏幕添加到 Web服务管理 屏幕以配置调用程序。

目录

流程和自动化

Web服务

请求示例

传出数据的高级过滤器

设置其它出站标头

流程和自动化

本软件包将两个新的调用程序添加到 Web服务管理 屏幕的 调用程序 部分。

目录

Web服务

请求示例

传出数据的高级过滤器

通用调用程序数据

传出请求数据设置

映射

传入响应数据的设置

事件触发器

设置其它出站标头

Web服务

安装本软件包之后，调用程序 部分将提供两个新的调用程序。从下拉列表中选择调用程序将打开一个新的设置窗口。

请求示例

TicketCreate 和 TicketUpdate 调用程序根据触发事件的工单ID和信件ID返回完整的工单和信件数据。

准备调用已配置的远程web服务。事件数据：

my $Result = $InvokerObject->PrepareRequest(
    Data => {                                               # data payload
        TicketID => 123,
        ArticleID => 123,                                   # optional
    },
);

调用程序结果：

{
    Data => {
        Ticket => {
            Title         => 'some ticket title',
            Queue         => 'some queue name',
            Lock          => 'some lock name',              # optional
            Type          => 'some type name',              # optional
            Service       => 'some service name',           # optional
            SLA           => 'some SLA name',               # optional
            State         => 'some state name',
            Priority      => 'some priority name',
            Owner         => 'some user login',             # optional
            Responsible   => 'some user login',             # optional
            CustomerUser  => 'some customer user login',
            PendingTime {       # optional
                Year   => 2011,
                Month  => 12
                Day    => 03,
                Hour   => 23,
                Minute => 05,
            },
        },
        Article => {
            SenderType       => 'some sender type name',    # optional
            AutoResponseType => 'some auto response type',  # optional
            From             => 'some from string',         # optional
            Subject          => 'some subject',
            Body             => 'some body'
            ContentType      => 'some content type',        # ContentType or MimeType and Charset is required
            MimeType         => 'some mime type',
            Charset          => 'some charset',
            TimeUnit         => 123,                        # optional
        },
        DynamicField => [                                   # optional
            {
                Name   => 'some name',
                Value  => 'Value',                          # value type depends on the dynamic field
            },
            # ...
        ],
         Attachment => [
            {
                Content     => 'content'                    # base64 encoded
                ContentType => 'some content type'
                Filename    => 'some fine name'
            },
            # ...
        ],
    },
};

注解

如果没有给定信件ID，调用程序将返回工单的最新信件。

注解

调用程序不会返回具有未定义值的动态字段，因为同名操作 TicketCreate 和 TicketUpdate 不处理具有未定义值的动态字段。

传出数据的高级过滤器

对于传出数据，可以定义请求应包含的工单字段、信件字段或动态字段的类型。此外，还可以按信件类型和信件发件人类型进行筛选。

可以在每个调用程序配置中选择不同的过滤器选项，并在 传出请求数据设置 部分中列出。

调用程序详细信息屏幕

添加或编辑此资源时，可以使用以下设置。 标有星号的字段是必填字段。

通用调用程序数据

名称 *

此资源的名称。 可以在此字段中输入任何类型的字符，包括大写字母和空格。 名称将显示在概览表中。

描述

向此资源添加其它信息。 为了更清晰，建议始终将此字段填充为带有完整句子的资源描述，因为注释也将显示在概览表中。

调用程序后端

将调用此调用程序后端模块来准备要发送到远程系统的数据，并处理其响应数据。该字段是只读的，它是在前一个屏幕中选定的。

传出请求数据设置

工单字段

包含可用工单属性（字段）的多选菜单，可提交给远程系统。只有选定的字段将包含在传出请求中。

信件字段

包含可提交到远程系统的可用信件属性（字段）的多选菜单。只有选定的字段将包含在传出请求中。

工单动态字段

包含可用工单动态字段的多选菜单，可提交给远程系统。只有所选的动态字段将包含在传出请求中。

信件动态字段

包含可提交到远程系统的可用信件动态字段的多选菜单。只有所选的动态字段将包含在传出请求中。

信件数

文本字段，包含在传出请求期间发送的最大信件数。信件将从最新（最近）到最旧进行选择。如果没有给定编号，只会发送最新的信件。

通信渠道

传出请求数据将只考虑所选通信渠道的信件。如果留空，将使用所有通信渠道创建的信件。

客户可见度

传出请求数据将只考虑使用所选客户可见性创建的信件。

发件人类型

传出请求数据将只考虑由选定的发件人类型创建的信件。如果保留为空，则将使用所有发件人类型创建的信件。

映射

映射出站请求数据

调用程序的数据将通过此映射进行处理，以将其转换为远程系统所期望的数据类型。

映射入站请求数据

响应数据将通过此映射进行处理，以将其转换为调用程序期望的数据类型。

传入响应数据的设置

可以将传入响应的某些数据自动保存到本地动态字段。可以在每个调用程序配置中选择不同的过滤器选项。

远程工单ID动态字段

包含系统中可用工单动态字段的下拉菜单。如果选择了这样的动态字段，则将使用从远程系统接收的工单ID，并将其保存在所选的动态字段中。

工单动态字段

包含系统中可用工单动态字段的多选菜单。所有选定的动态字段（在响应数据中也可用并包含值）都将保存到本地动态字段中。

响应数据的动态字段值将从以下数据结构中使用：

<Ticket>
    <DynamicField>..</DynamicField>
</Ticket>

和/或

<Ticket>
    <Article>
        <DynamicField>..</DynamicField>
    </Article>
</Ticket>

添加了系统配置选项 GenericInterface::Invoker::Settings::ResponseDynamicField，作为应包含相关响应数据的结果工单ID的动态字段的备用。如果配置不是通过调用程序GUI添加的，则应使用它，并且两个配置不应同时使用！

事件触发器

事件

配置事件将触发这个调用程序。

添加事件触发器

要添加新事件，请选择事件对象和事件名称，然后单击 + 按钮。异步事件触发器由OTRS后台守护进程处理（推荐）。同步事件触发器将在Web请求期间直接处理。

设置其它出站标头

注解

本功能仅与 STORM powered by OTRS™ 结合使用。

此功能允许为基于 HTTP::REST 和 HTTP::SOAP 的Web服务的出站通信设置任意HTTP标头（Requester 请求和 Provider 响应），取代 附加的响应标头 功能。

在 传输 配置中，现在可以定义公共标头（为Web服务的每个出站通信设置 请求者/提供者）和 调用程序/操作 特定标头（仅在使用相应的 调用程序/操作 时才设置）。

标头只允许在配置类型中使用一次，并且来自特定配置的标头将重写公共配置标头。

为了安全起见，某些标头被阻止。如果需要，可以在系统配置中分别使用设置 GenericInterface::Invoker::OutboundHeaderBlacklist 和 GenericInterface::Operation::OutboundHeaderBlacklist 更改阻止的标头列表。

注解

使用以前的 附加响应标头 功能定义的标头将继续工作，并在下次更改 提供程序 传输配置时升级到新功能。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

工单队列选择

本功能插件使您能够在创建工单时根据工单和客户数据自动将工单转移到首选队列。在 OTRS 的标准版本中，可以通过使用多个电子邮件地址或手动移动工单来完成一些类似的选择。

安装本功能插件后，可以在系统配置中定义应在哪些数据上执行队列选择。例如，可以定义某些客户名称，这会导致他们的工单进入一个特殊队列，相应的客户顾问可以立即对其进行处理。

还可以为工单标题定义关键字，如 问题 或 计算机，以便这些工单自动路由到一级支持队列。

优点

立即处理工单。

根据可单独定义的关键字在正确队列中自动分配。

与手动分配相比，节省了时间。

目标组

外部的IT服务

呼叫中心

销售

客户服务

还有很多

可在服务包中找到

黄金

OTRS软件包管理器中的软件包名称

OTRSTicketQueueSelection

目录

管理员界面

服务人员界面

外部人员界面

管理员界面

本软件包没有管理员界面，但可以将具有特定工单或客户用户数据的工单转移到队列中。

可以使用设置 OTRSTicketQueueSelection::Configuration 配置本软件包。键是队列名称，值是以分号分隔的工单和/或客户用户设置列表，以及它们作为正则表达式的预期值。可用于工单和客户用户的字段必须与 OTRS 中的字段匹配。

示例用法

此示例显示如何配置一组规则，以便在创建工单时根据工单属性将工单从任何选定队列转移到定义的目标队列。

要为新创建的标题为 Test 的工单配置规则以将其移动到 Junk 队列：

转到 系统配置 屏幕。

在 导航 小部件中选择 OTRSTicketQueueSelection。

导航到导航树中的 Core → Ticket。

打开 OTRSTicketQueueSelection::Configuration 设置进行编辑。

输入 Junk 作为键，输入 Ticket::Title='^Test$' 作为内容。

创建一个标题为 Test 的工单，并检查工单是否根据您的配置转移。

如本例所示，只有一条规则要求工单必须匹配才能转移到 Junk 队列。如果需要更多的规则，可以将它们添加到同一个内容字段中，并使用 ; 字符作为分隔符，例如：

Ticket::Title='^Test$';CustomerUser::UserFirstname='^John$';CustomerUser::UserLastname='^Doe$'

系统将每个规则都作为AND条件，因此对于这些新规则，工单将需要与标题条件 和 客户用户条件匹配，以便转移到 Junk 队列。

规则可以基于工单属性 Ticket::<Attribute> 或客户用户属性 CustomerUser::<Attribute>。

服务人员界面

本软件包没有服务人员界面。

外部人员界面

本软件包没有外部人员界面。

索引