Project Management - automatic start of pending deliverables
Solution: https://github.com/Combodo/itop-object-copier/pull/8
In case of my custom logic maybe I wouldn’t even need an extra field like "is_being_updated_by_parent" because I add a heading to log entries that I could use to filter them. But I just tested the jb-ticket-merge extension and came across came across this behaviour too. When it creates the new log entries, the notification is triggered again. So instead of modifying all occurrences of log update functions, a more generic solution would be nice. Like a suitable context for the trigger.
We intentionally propagate log entries from tickets to their parent project. We need this logic.
Hello, I use TriggerOnObjectMention on class Ticket. If someone writes @NameOfPerson, an e-mail is sent. When I mention a person in a public log entry in a ticket (user request), the entry is copied to logs of all child tickets. Every copy, every automated log update, triggers the notification too. What filter or other setting could I use do avoid multiple notification from child or parent objects?
What I did: Add an AttributeExternalKey and a 1:1 relationship to class WBS (project management) pointing to class Ticket Change a couple of attributes of WBS to AttributeExternalField to show the contents of the coupled ticket. Creating a new WBS object using the large plus works fine. The relationship and all logic works. But when the WBS creation form is opened from a user action (object-copier) the create button becomes unavailable/grey as soon as I type in a ticket in AttributeExternalKey field...
I finally made it. For anyone who needs to export and import objects to overcome the difficulties of changing a class' parent class, I ran into the following issues: When deleting the objects that are to be migrated: While inline images seem to stay in the database for the configured lifetime, attachments are deleted immediately. I had to export and import attachments too and had to update the IDs of the objects they belong to. As the docs say https://www.itophub.io/wiki/page?id=latest:advancedtopics:rest_json#how_to_specify_a_value...
My Idea to preserve inline images is to delay the garbage collector by making a configuration entry: draft_attachments_lifetime = 86400. Maybe this will work but I'm already struggling with REST API: When I export WorkOrder the json structure of logs is like this: "log": { "entries": [ { "date": "2026-03-09 16:22:52", "user_login": "Hans Wurst", "user_id": "550", "message": "And another image:", "message_html": "<p>And<b>another<b> imgage:</p><figure class=\"image\"><img style=\"aspect-ratio:291/243\"...