glpi-project / glpi

GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.
https://glpi-project.org
GNU General Public License v3.0
4.24k stars 1.29k forks source link

Group notifications no longer work on ticket creation #15437

Closed VS-VAR closed 1 year ago

VS-VAR commented 1 year ago

Code of Conduct

Is there an existing issue for this?

Version

10.0.9

Bug description

Hello, When a ticket is created, notifications are normally automatically sent to the requester, the technician and the technician group. The requester, the technician and the group of technicians are assigned when the ticket is created. Notifications are generated in the queue except for the technician group. In the entity the notifications are active in recursive mode In the notifications, the model is active on the Ticket type and the event is New responsible group. We migrated the platform from 9.5.6 to 10.0.9. It was working perfectly before. The notification to the technician group works if we come back to the ticket and that we give a technician group but not at the initial creation of the ticket. Another curious point is that there is no bell on the groups as on the users in the ticket.

Can you help me ?

I've try some help

Thank you.

Relevant log output

in the php-errors.log file no errors except fusion which is normal customers always try to contact via fusion. Migration is in progress to glpi-agent
in the sql-errors.log file no error too.

Page URL

No response

Steps To reproduce

  1. A new ticket is created and the requester, the technician and the technician group are affected.
  2. Notifcations are generated in the queue but not the notification group technician
  3. The notification is sent to the applicant.
  4. The notification is sent to the technician.

Your GLPI setup information

Informations sur le système, l'installation et la configuration
GLPI 10.0.9 ( => /var/www/glpi)
Installation mode: TARBALL
Current language:fr_FR

Server
 
Operating system: Linux srvglpivar.cg83.fr 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64
PHP 7.4.33 apache2handler (Core, FFI, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apache2handler, bz2, calendar, ctype,
    curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd,
    openssl, pcre, pdo_mysql, posix, readline, session, shmop, soap, sockets, sodium, standard, sysvmsg, sysvsem, sysvshm,
    tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib)
Setup: max_execution_time="0" memory_limit="4096M" post_max_size="8M" safe_mode="" session.save_handler="files"
    upload_max_filesize="4M" 
Software: Apache ()
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Server Software: Debian 10
    Server Version: 10.3.39-MariaDB-0+deb10u1
    Server SQL Mode: STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    Parameters: glpiuser@localhost/glpidb
    Host info: Localhost via UNIX socket

PHP version (7.4.33) is supported.
Sessions configuration is OK.
Allocated memory is sufficient.
mysqli extension is installed.
Following extensions are installed: dom, fileinfo, filter, libxml, json, simplexml, xmlreader, xmlwriter.
curl extension is installed.
gd extension is installed.
intl extension is installed.
zlib extension is installed.
The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present.
Database engine version (10.3.39) is supported.
No files from previous GLPI version detected.
The log file has been created successfully.
Write access to /var/www/glpi/files/_cache has been validated.
Write access to /var/www/glpi/config has been validated.
Write access to /var/www/glpi/files/_cron has been validated.
Write access to /var/www/glpi/files has been validated.
Write access to /var/www/glpi/files/_dumps has been validated.
Write access to /var/www/glpi/files/_graphs has been validated.
Write access to /var/www/glpi/files/_lock has been validated.
Write access to /var/www/glpi/files/_pictures has been validated.
Write access to /var/www/glpi/files/_plugins has been validated.
Write access to /var/www/glpi/files/_rss has been validated.
Write access to /var/www/glpi/files/_sessions has been validated.
Write access to /var/www/glpi/files/_tmp has been validated.
Write access to /var/www/glpi/files/_uploads has been validated.
PHP 7.4 official support has ended. An upgrade to a more recent PHP version is recommended.
Web server root directory configuration seems safe.
PHP directive "session.cookie_secure" should be set to "on" when GLPI can be accessed on HTTPS protocol.
OS and PHP are relying on 64 bits integers.
exif extension is installed.
ldap extension is installed.
openssl extension is installed.
Following extensions are installed: bz2, Phar, zip.
Zend OPcache extension is installed.
Following extensions are installed: ctype, iconv, mbstring, sodium.
Write access to /var/www/glpi/marketplace has been validated.
Timezones seems loaded in database.

GLPI constants
 
GLPI_ROOT: "/var/www/glpi"
GLPI_CONFIG_DIR: "/var/www/glpi/config"
GLPI_VAR_DIR: "/var/www/glpi/files"
GLPI_MARKETPLACE_DIR: "/var/www/glpi/marketplace"
GLPI_USE_CSRF_CHECK: "1"
GLPI_CSRF_EXPIRES: "7200"
GLPI_CSRF_MAX_TOKENS: "100"
GLPI_USE_IDOR_CHECK: "1"
GLPI_IDOR_EXPIRES: "7200"
GLPI_ALLOW_IFRAME_IN_RICH_TEXT: false
GLPI_SERVERSIDE_URL_ALLOWLIST: ["/^(https?|feed):\\/\\/[^@:]+(\\/.*)?$/"]
GLPI_TELEMETRY_URI: "https://telemetry.glpi-project.org"
GLPI_INSTALL_MODE: "TARBALL"
GLPI_NETWORK_MAIL: "glpi@teclib.com"
GLPI_NETWORK_SERVICES: "https://services.glpi-network.com"
GLPI_MARKETPLACE_ALLOW_OVERRIDE: true
GLPI_MARKETPLACE_MANUAL_DOWNLOADS: true
GLPI_USER_AGENT_EXTRA_COMMENTS: ""
GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: "1"
GLPI_AJAX_DASHBOARD: "1"
GLPI_CALDAV_IMPORT_STATE: 0
GLPI_DEMO_MODE: "0"
GLPI_CENTRAL_WARNINGS: "1"
GLPI_DOC_DIR: "/var/www/glpi/files"
GLPI_CACHE_DIR: "/var/www/glpi/files/_cache"
GLPI_CRON_DIR: "/var/www/glpi/files/_cron"
GLPI_DUMP_DIR: "/var/www/glpi/files/_dumps"
GLPI_GRAPH_DIR: "/var/www/glpi/files/_graphs"
GLPI_LOCAL_I18N_DIR: "/var/www/glpi/files/_locales"
GLPI_LOCK_DIR: "/var/www/glpi/files/_lock"
GLPI_LOG_DIR: "/var/www/glpi/files/_log"
GLPI_PICTURE_DIR: "/var/www/glpi/files/_pictures"
GLPI_PLUGIN_DOC_DIR: "/var/www/glpi/files/_plugins"
GLPI_RSS_DIR: "/var/www/glpi/files/_rss"
GLPI_SESSION_DIR: "/var/www/glpi/files/_sessions"
GLPI_TMP_DIR: "/var/www/glpi/files/_tmp"
GLPI_UPLOAD_DIR: "/var/www/glpi/files/_uploads"
GLPI_INVENTORY_DIR: "/var/www/glpi/files/_inventories"
GLPI_NETWORK_REGISTRATION_API_URL: "https://services.glpi-network.com/api/registration/"
GLPI_MARKETPLACE_PLUGINS_API_URI: "https://services.glpi-network.com/api/marketplace/"
GLPI_I18N_DIR: "/var/www/glpi/locales"
GLPI_VERSION: "10.0.9"
GLPI_SCHEMA_VERSION: "10.0.9"
GLPI_MARKETPLACE_PRERELEASES: false
GLPI_MIN_PHP: "7.4.0"
GLPI_MAX_PHP: "8.3.0"
GLPI_YEAR: "2023"

Libraries
 
htmlawed/htmlawed version 1.2.14 in (/var/www/glpi/vendor/htmlawed/htmlawed)
phpmailer/phpmailer version 6.8.0 in (/var/www/glpi/vendor/phpmailer/phpmailer/src)
simplepie/simplepie version 1.5.8 in (/var/www/glpi/vendor/simplepie/simplepie/library)
tecnickcom/tcpdf version 6.4.4 in (/var/www/glpi/marketplace/pdf/vendor/tecnickcom/tcpdf)
michelf/php-markdown in (/var/www/glpi/vendor/michelf/php-markdown/Michelf)
true/punycode in (/var/www/glpi/vendor/true/punycode/src)
iamcal/lib_autolink in (/var/www/glpi/vendor/iamcal/lib_autolink)
sabre/dav in (/var/www/glpi/vendor/sabre/dav/lib/DAV)
sabre/http in (/var/www/glpi/vendor/sabre/http/lib)
sabre/uri in (/var/www/glpi/vendor/sabre/uri/lib)
sabre/vobject in (/var/www/glpi/vendor/sabre/vobject/lib)
laminas/laminas-i18n in (/var/www/glpi/vendor/laminas/laminas-i18n/src)
laminas/laminas-servicemanager in (/var/www/glpi/vendor/laminas/laminas-servicemanager/src)
monolog/monolog in (/var/www/glpi/vendor/monolog/monolog/src/Monolog)
sebastian/diff in (/var/www/glpi/vendor/sebastian/diff/src)
donatj/phpuseragentparser in (/var/www/glpi/vendor/donatj/phpuseragentparser/src/UserAgent)
elvanto/litemoji in (/var/www/glpi/vendor/elvanto/litemoji/src)
symfony/console in (/var/www/glpi/vendor/symfony/console)
scssphp/scssphp in (/var/www/glpi/vendor/scssphp/scssphp/src)
laminas/laminas-mail in (/var/www/glpi/vendor/laminas/laminas-mail/src/Protocol)
laminas/laminas-mime in (/var/www/glpi/vendor/laminas/laminas-mime/src)
rlanvin/php-rrule in (/var/www/glpi/vendor/rlanvin/php-rrule/src)
blueimp/jquery-file-upload in (/var/www/glpi/vendor/blueimp/jquery-file-upload/server/php)
ramsey/uuid in (/var/www/glpi/vendor/ramsey/uuid/src)
psr/log in (/var/www/glpi/vendor/psr/log/Psr/Log)
psr/simple-cache in (/var/www/glpi/vendor/psr/simple-cache/src)
psr/cache in (/var/www/glpi/vendor/psr/cache/src)
league/csv in (/var/www/glpi/vendor/league/csv/src)
mexitek/phpcolors in (/var/www/glpi/vendor/mexitek/phpcolors/src/Mexitek/PHPColors)
guzzlehttp/guzzle in (/var/www/glpi/vendor/guzzlehttp/guzzle/src)
guzzlehttp/psr7 in (/var/www/glpi/vendor/guzzlehttp/psr7/src)
glpi-project/inventory_format in (/var/www/glpi/vendor/glpi-project/inventory_format/lib/php)
wapmorgan/unified-archive in (/var/www/glpi/vendor/wapmorgan/unified-archive/src)
paragonie/sodium_compat in (/var/www/glpi/vendor/paragonie/sodium_compat/src)
symfony/cache in (/var/www/glpi/vendor/symfony/cache)
html2text/html2text in (/var/www/glpi/vendor/html2text/html2text/src)
symfony/css-selector in (/var/www/glpi/vendor/symfony/css-selector)
symfony/dom-crawler in (/var/www/glpi/vendor/symfony/dom-crawler)
twig/twig in (/var/www/glpi/vendor/twig/twig/src)
twig/string-extra in (/var/www/glpi/vendor/twig/string-extra)
symfony/polyfill-ctype not found
symfony/polyfill-iconv not found
symfony/polyfill-mbstring not found
symfony/polyfill-php80 in (/var/www/glpi/vendor/symfony/polyfill-php80)
symfony/polyfill-php81 in (/var/www/glpi/vendor/symfony/polyfill-php81)
symfony/polyfill-php82 in (/var/www/glpi/vendor/symfony/polyfill-php82)
league/oauth2-client in (/var/www/glpi/vendor/league/oauth2-client/src/Provider)
league/oauth2-google in (/var/www/glpi/vendor/league/oauth2-google/src/Provider)
thenetworg/oauth2-azure in (/var/www/glpi/vendor/thenetworg/oauth2-azure/src/Provider)
phpCas version 1.3.6 in (/usr/share/php/CAS/source)

LDAP directories
 
Server: '10.2.20.21', Port: '389', BaseDN: 'DC=cg83,DC=fr', Connection filter: none, RootDN: 'ldap_user', Use TLS: none
Server: '10.2.20.201', Port: '389', BaseDN: 'DC=cg83,DC=fr', Connection filter: none, RootDN: 'ldap_user', Use TLS: none
Server: '10.200.3.60', Port: '389', BaseDN:
        'OU=Professeurs,OU=Utilisateurs,OU=CLG-LE-MUY-LA-PEYROUA-160,OU=Collèges,DC=clg,DC=var,DC=fr', Connection filter:
        '(&(objectClass=user)(objectCategory=person))', RootDN: 'ldap_user@clg.var.fr', Use TLS: none
Server: '10.2.20.201', Port: '389', BaseDN: 'DC=cg83,DC=fr', Connection filter: none, RootDN: 'ldap_user', Use TLS: none

SQL replicas
 
Not active

Notifications
 
Way of sending emails: SMTP (anonymous@localhost)

Plugins list
 
    news                 Name: Alertes                        Version: 1.12.1     State: Enabled                                 
        Install Method: Marketplace
    fields               Name: Champs supplémentaires         Version: 1.20.7     State: Enabled                                 
        Install Method: Marketplace
    timelineticket       Name: Chronologie des tickets        Version: 10.0+1.1   State: Enabled                                 
        Install Method: Marketplace
    behaviors            Name: Comportements                  Version: 2.7.2      State: Enabled                                 
        Install Method: Marketplace
    datainjection        Name: Data Injection                 Version: 2.13.2     State: Enabled                                 
        Install Method: Marketplace
    formcreator          Name: Form Creator                   Version: 2.13.6     State: Enabled                                 
        Install Method: Marketplace
    fusioninventory      Name: FusionInventory                Version: 9.5+5.0    State: Installed / not activated               
        Install Method: Manual
    tag                  Name: Gestion des tags               Version: 2.11.5     State: Enabled                                 
        Install Method: Marketplace
    mod                  Name: GLPI Modifications             Version: 2.0.2      State: Not installed                           
        Install Method: Manual
    pdf                  Name: Impression pdf                 Version: 3.0.0      State: Enabled                                 
        Install Method: Marketplace
    metabase             Name: Metabase                       Version: 1.3.3      State: Enabled                                 
        Install Method: Marketplace
    mreporting           Name: Plus de rapports               Version: 1.8.2      State: Enabled                                 
        Install Method: Marketplace
    satisfaction         Name: Plus de satisfaction           Version: 1.6.2      State: Enabled                                 
        Install Method: Marketplace
    purgelogs            Name: Purge de l'historique          Version: 1.3.0      State: Enabled                                 
        Install Method: Manual
    reservation          Name: Reservation                    Version: 2.2.0      State: Enabled                                 
        Install Method: Manual
    webservices          Name: Services Web                   Version: 2.0.0      State: Enabled                                 
        Install Method: Manual
    dashboard            Name: Tableau de bord                Version: 0.9.8      State: Enabled                                 
        Install Method: Manual

Anything else?

No response

kabassanov commented 1 year ago

Hi,

"In the notifications, the model is active on the Ticket type and the event is New responsible group." Do you mean "New group in assignees" ? Are you sure it is triggered upon ticket creation (it is possible that requester and assignees are hardcoded somewhere so why notifications for them work) ?

I'm not sure what should be the meaning of the bell for a group... What should happen if a user from a group has notifications disabled, but the group itself allows them...

VS-VAR commented 1 year ago

Hello,

So I just found by dint of returning the GLPI. There is a behavior change in notifications. In 9.5.6, the notification rule "Ticket - New responsible group" worked when opening a new ticket and changing a group in a ticket. But in 10.0.x, this is no longer the case, you must necessarily go through "Ticket - New ticket" assigned the desired destination and the desired notification model. Then make another notification rule "Ticket - New responsible group" for the change of new responsible group or technician in a ticket. This event only works for group assignment changes in a ticket. Since I have two notification models, one for requesters and one for technicians, that gives me 4 rules to do. "Ticket - New Applicant" Type: Ticket Events: New Ticket Applicant notification template Destination: Applicant "Ticket - New Technicians" Type: Ticket Events: New Ticket Technician notification template Destination: Ticket Technician - Ticket Group "Ticket - Change Technicians" Type: Ticket Events: New Responsible User Technician notification template Destination: Technician in charge of the ticket "Ticket - Technician Group Change" Type: Ticket Events: New Responsible Group Technician notification template Destination: Group in charge of the ticket

If it can help other people.