Hi Atlassian community,
we are having a JSM Premium subscription to use Assets. The archiving functionality however is only available with the Enterprise subscription, which we will definitely not get anytime soon.
Now I am wondering, what is best practice on how to deal with Asset data, which is deprecated, but cannot be deleted yet, since we do not want to loose it´s history?
We are working with statuses, like "Deprecated", the problem is that, in the relationships (in- and outbound) and in the object graph those old objects are still visible, which causes confusion. So it is not enough to just change the status.
I am therefore wondering if you guys have any smart workaround to still have a decent archiving process that keeps the value of the Asset object but does not interfere with active Asset data that you could share if you are using JSM premium?
Thanks in advance!
As a plan B, I could delete all the links to other objects of deprecated asset data, but this is quite annoying and a manual task, so I hope there is a better solution out there.
Cheers,
Simon
I can answer my question now myself, which might help some other users that look for similar solutions as me.
I came up with the solution also with the help from the Atlassian support so it is legit.
Firstly, there is not really a great solution out there yet to archive Asset objects, there are two CR in this area that will hopefully improve this situation going forward:
[JSDCLOUD-13942] Ability to archive objects/object types in Assets - Create and track feature requests for Atlassian products.
[JSDCLOUD-17087] Ability to filter objects in Object Graph using Status attribute - Create and track feature requests for Atlassian products.
Now there are some alternatives, but they all come with downsides.
First, I was trying to recreate an Archive Asset object with all relevant attributes and connections. This is firstly quite time consuming, but more importantly if you export and import the data then the linked issues to the object get lost, which is one of the most crucial things to keep in my opinion. So not option.
Second, there is an automation rule where you can delete all the inbound and outbound relationships automatically for one Asset object.
This works pretty well, however there is a big catch, you cannot have any mandatory in- or outbound attributes otherwise the automation rule fails. This is also far from ideal, since they are mandatory for a reason and just to remove this condition for archiving is a stretch.
If you are still interested this is the relevant printscreens and AQL:
object having outR(key={{object.Key}})
key in ({{lookupObjects}})
Lastly, for what I have decided to go, at least partly, is to accept the current situation and just naming convention to clearly state that these objects are DISCONTINUED and I have remove the in- and outbound references for the non-mandatory fields.
I hope that helps for people in a similar situation.
Cheers,
Simon
One way I have now also came up with is to clone the Asset object and set it under an "Archive" abstract object.
Then export the data of the deprecated object and import it into the archive object with the same structure but without the outbound connections. The inbound connections are anyway gone since it is a new object.
The problem there however is that the linked issues are still pointing to the deprecated objects and also the attachment would need to manually moved. Therefore if the old deprecated object gets deleted those things would disappear.
So not really a scalable and automatic solution...
Probably still better to use the automation rule to remove (NULL) all the outbound references and then remove the inbound references manually.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @Simon Sahli
I can suggest to use Automation rules:
When status object will change to "Deprecated" , remove all outbound/inbound connections.
So you will only need to change the status and the automation will kick in to handle the asset.
Hope that helps.
Ariel.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for this suggestion @arielei
What would be the main action to action in the automation rules to remove all outbound/ inbound connections of a deprecated object?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @Simon Sahli
You can simply create an automation like:
1. Trigger - Object Updated
2. If the Status have changed to "Deprecated"
3. Edit Object and remove all the values from it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @arielei,
the problem with the point 3 is though that if you remove the values from the object that are connected then you only remove the outbound references.
The inbound references are set on other objects and point towards the archived asset object.
Do you see any option to remove these inbound references in an automatic way?
Cheers,
Simon
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @Simon Sahli
You can do Lookup object on the CF in your work-item.
Then do Branch on AQL and set the scheme of the inboud/outbound.
Then, to a compare between the value in the CF.Outbound or Inbound and remove it.
Think of it this way - looking at the objects from the other way around.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Okay, I will try to do this.
Will let you know if I have succeeded and if yes, how.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @arielei,
I don´t really manage to create the right AQL query's or at least I do not get the result I want, based the mentioned situation.
Could you provide some example that I could adjust to my situation when it comes to the query's and the automation rule setup?
Just with a simple in- and outbound reference between three asset objects.
I´d really appreciate it. Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @Simon Sahli
contact me via linkedin and i'll try to assist you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.