ExternalTicketNumberRecognition correct for my usecase?

Moderator: crythias

Post Reply
disciple
Znuny newbie
Posts: 62
Joined: 31 Jul 2022, 12:27
Znuny Version: 6.4.2
Real Name: David Müller

ExternalTicketNumberRecognition correct for my usecase?

Post by disciple »

I am fiddling around to find a best way to merge external ticket systems into my ticket

e.g. writing to a external enterprise, they typically have a ticket system with their ID.
But Znuny has it's own ticketID

now I want to merge all external system unique ticketNumbers into my "one" unique ticket in Znuny.


I am not sure if ExternalTicketNumberRecognition is the right path for it?
It looks I can use a search on body or subject to identify a external ticket number. But it is unclear to me why I need a DynamicFieldName here?
Do I need to define a dynamic field per external system, or can I reuse one dynamic field "externalSystemTicketNumber" which works for all external systems?

Also the value IsVisibleForCustomer is a unclear setting? Why shall the rule be visible to a customer? Or to what relates this setting?

What is the recommended way here in Znuny?


Also for me it is unclear, can I really only use 4 rules?
PostMaster::PreFilterModule###000-ExternalTicketNumberRecognition1
to
PostMaster::PreFilterModule###000-ExternalTicketNumberRecognition4
if not how to define additional rules?
shawnbeasley
Znuny Employee
Posts: 132
Joined: 13 Sep 2021, 09:38
Znuny Version: Znuny 6.3.x
Real Name: Shawn Beasley
Company: Znuny

Re: ExternalTicketNumberRecognition correct for my usecase?

Post by shawnbeasley »

External ticket number recognition is a way of ensuring that followups, which use a foreign ticket number, are registered to the correct ticket in Znuny. Not to merge all incoming tickets to one master ticket for all external tickets.

This helps you make sure that communications to systems which do not use your ticket number, but use their own, will keep everything in one ticket for you.

Ticket numbers which ace not known (not found associated with the dynamic field of an open ticket) will create a new ticket. This allows an external service desk to start a ticket with your system.

ext_tickt_reg_process.png
IsVisibleForCustomer means that, when set, the article can be access by a customer user in the customer interface. If not set, this one article is not visible.

You may add your own XML configuration to extend the rules. You should do this in an extra file, and not extend Ticket.xml. But you can use the examples there.

* Copy the following code to Kernel/Config/Files/XML/ZZZZExtraFilters.xml (for exapmle)
* bin/otrs.Console.pl Maint::Config::Rebulid

Then you can have up-to 8 (extend and rebuild as needed)

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<otrs_config version="2.0" init="Application">
    <Setting Name="PostMaster::PreFilterModule###000-ExternalTicketNumberRecognition5" Required="0" Valid="0">
        <Description Translatable="1">Recognize if a ticket is a follow-up to an existing ticket using an external ticket number. Note: the first capturing group from the 'NumberRegExp' expression will be used as the ticket number value.</Description>
        <Navigation>Core::Email::PostMaster</Navigation>
        <Value>
            <Hash>
                <Item Key="Module">Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition</Item>
                <Item Key="Name">Some Description</Item>
                <Item Key="FromAddressRegExp">\s*@example.com</Item>
                <Item Key="NumberRegExp">\s*Incident-(\d.*)\s*</Item>
                <Item Key="SearchInSubject">1</Item>
                <Item Key="SearchInBody">1</Item>
                <Item Key="TicketStateTypes">new;open</Item>
                <Item Key="DynamicFieldName">Name_X</Item>
                <Item Key="SenderType" Translatable="1">system</Item>
                <Item Key="IsVisibleForCustomer">1</Item>
            </Hash>
        </Value>
    </Setting>
    <Setting Name="PostMaster::PreFilterModule###000-ExternalTicketNumberRecognition6" Required="0" Valid="0">
        <Description Translatable="1">Recognize if a ticket is a follow-up to an existing ticket using an external ticket number. Note: the first capturing group from the 'NumberRegExp' expression will be used as the ticket number value.</Description>
        <Navigation>Core::Email::PostMaster</Navigation>
        <Value>
            <Hash>
                <Item Key="Module">Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition</Item>
                <Item Key="Name">Some Description</Item>
                <Item Key="FromAddressRegExp">\s*@example.com</Item>
                <Item Key="NumberRegExp">\s*Incident-(\d.*)\s*</Item>
                <Item Key="SearchInSubject">1</Item>
                <Item Key="SearchInBody">1</Item>
                <Item Key="TicketStateTypes">new;open</Item>
                <Item Key="DynamicFieldName">Name_X</Item>
                <Item Key="SenderType" Translatable="1">system</Item>
                <Item Key="IsVisibleForCustomer">1</Item>
            </Hash>
        </Value>
    </Setting>
    <Setting Name="PostMaster::PreFilterModule###000-ExternalTicketNumberRecognition7" Required="0" Valid="0">
        <Description Translatable="1">Recognize if a ticket is a follow-up to an existing ticket using an external ticket number. Note: the first capturing group from the 'NumberRegExp' expression will be used as the ticket number value.</Description>
        <Navigation>Core::Email::PostMaster</Navigation>
        <Value>
            <Hash>
                <Item Key="Module">Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition</Item>
                <Item Key="Name">Some Description</Item>
                <Item Key="FromAddressRegExp">\s*@example.com</Item>
                <Item Key="NumberRegExp">\s*Incident-(\d.*)\s*</Item>
                <Item Key="SearchInSubject">1</Item>
                <Item Key="SearchInBody">1</Item>
                <Item Key="TicketStateTypes">new;open</Item>
                <Item Key="DynamicFieldName">Name_X</Item>
                <Item Key="SenderType" Translatable="1">system</Item>
                <Item Key="IsVisibleForCustomer">1</Item>
            </Hash>
        </Value>
    </Setting>
    <Setting Name="PostMaster::PreFilterModule###000-ExternalTicketNumberRecognition8" Required="0" Valid="0">
        <Description Translatable="1">Recognize if a ticket is a follow-up to an existing ticket using an external ticket number. Note: the first capturing group from the 'NumberRegExp' expression will be used as the ticket number value.</Description>
        <Navigation>Core::Email::PostMaster</Navigation>
        <Value>
            <Hash>
                <Item Key="Module">Kernel::System::PostMaster::Filter::ExternalTicketNumberRecognition</Item>
                <Item Key="Name">Some Description</Item>
                <Item Key="FromAddressRegExp">\s*@example.com</Item>
                <Item Key="NumberRegExp">\s*Incident-(\d.*)\s*</Item>
                <Item Key="SearchInSubject">1</Item>
                <Item Key="SearchInBody">1</Item>
                <Item Key="TicketStateTypes">new;open</Item>
                <Item Key="DynamicFieldName">Name_X</Item>
                <Item Key="SenderType" Translatable="1">system</Item>
                <Item Key="IsVisibleForCustomer">1</Item>
            </Hash>
        </Value>
    </Setting>
</otrs_config>
You do not have the required permissions to view the files attached to this post.
disciple
Znuny newbie
Posts: 62
Joined: 31 Jul 2022, 12:27
Znuny Version: 6.4.2
Real Name: David Müller

Re: ExternalTicketNumberRecognition correct for my usecase?

Post by disciple »

thank you for clarification

One question is from my side still unclear.
Do I need one dynamic Field per specific rule or is one dynamic field for all external/foreign ticket numbers?

the limit of 8 is comming from the XML?
Or is it a general limit of Znuny to support only 8?
shawnbeasley
Znuny Employee
Posts: 132
Joined: 13 Sep 2021, 09:38
Znuny Version: Znuny 6.3.x
Real Name: Shawn Beasley
Company: Znuny

Re: ExternalTicketNumberRecognition correct for my usecase?

Post by shawnbeasley »

No, you can continue to extend it indefinitely (in theory), without issue.
disciple
Znuny newbie
Posts: 62
Joined: 31 Jul 2022, 12:27
Znuny Version: 6.4.2
Real Name: David Müller

Re: ExternalTicketNumberRecognition correct for my usecase?

Post by disciple »

shawnbeasley wrote: 10 Aug 2022, 16:36 No, you can continue to extend it indefinitely (in theory), without issue.
thank you!
disciple wrote: 10 Aug 2022, 14:05 One question is from my side still unclear.
Do I need one dynamic Field per specific rule or is one dynamic field for all external/foreign ticket numbers?
can you help me here?
shawnbeasley
Znuny Employee
Posts: 132
Joined: 13 Sep 2021, 09:38
Znuny Version: Znuny 6.3.x
Real Name: Shawn Beasley
Company: Znuny

Re: ExternalTicketNumberRecognition correct for my usecase?

Post by shawnbeasley »

I would recommend one per rule, just to keep things tidy and to allow multiple external numbers to relate to the same ticket. But technically you can use one field for all rules, if you never expect that multiple rules will match one ticket.
Post Reply