Wooohooo!!! This video saved me A LOT of work! Thank you so much for this! You are very correct in that the documentation on this is not very good and I have been beating my head on the wall trying to figure this out. Well done!!
I am so happy you said that :) That was precisely the goal of making this video. Assets is amazing, but the documentation can use some work, so I'll do my best to do videos on it.
@@jerrodvan24 I really struggled with this too. Hopefully this will work for you. Hope the generic syntax makes sense. For the attribute that you are trying to set with the import that maps to an Object, use this AQL: objectType = "" and "" = ${} This will locate the object and filter it to match the key field to the value you have in the import file. I think this same syntax will work to filter an object by a previous set attribute as well, but that gave me some trouble when running the import. I think the earlier comments might work but you would need to substitute "Label" or "Name" with the name of the key value you set in the object.
Great tutorial! Would you do a tutorial on how scheduled sync would work? I can't find any good documentation on how we would streamline the process of adding Objects with attributes via a CSV upload. This could be a huge timesaver!
@@jimiwikmanofficial We're using Service Desk in the Data Center environment, but I'd hope the process would be similar for cloud. It seems the CSV upload is only seen as a one-time thing, but then there's the scheduler. I haven't figured out how to make good use of that, when we have incoming data that changes regularly. I have to go back and recreate the new mapping for each new upload. Thank you!
@ - I have a team modifying an exported CSV now, to add more objects and attribute data. Can Assets "monitor" a file location, and upload this file on a schedule? If not, how does the scheduling work?
What can I do when the field to import has unlimited cardinality, that is, several values can be used, for example? I have an X server and this server has several applications installed: APP1||APP2||APP3, how do I get them to appear if application is an object? When importing, it does it correctly if the server only has one application, if it has more, it does not add any value.
If you have multiple values, then you need to map that as an array. It should look something like this (not tested) Name IN (${Application${0}}). This will then loop that value and make multiple connections based on the number of items you have in that field. You can see it referenced at the bottom of this page: support.atlassian.com/jira-service-management-cloud/docs/use-assets-query-language-aql/ Combining references, functions and AQL Functions, references, and AQL can be combined in powerful ways. For example, you could add multiple object references to a custom field attached to an object, and then search those references for a specific key: object HAVING inboundReferences(Key IN (${MyCustomField${0}})) Or a specific label, by using dot notation: object HAVING inboundReferences(Label IN (${Portfolios.label${0}}))
Your JSM Assets videos have helped me. Thank you! Once assets have been imported, can Automation be used to create new assets instead of adding each asset individually? If so, would you please elaborate? We have a lot of devices that are assigned to employees regularly and would like to use a Jira service ticket to trigger the creation of new assets. Thank you
You have three actions related to Assets in your automation: Create object, Edit object and Lookup objects. So you can create new objects using automations and you can update existing ones as well. I am experimenting with my configuration settings, so I can automatically create new projects when requested and then also update the records through JSM requests. I will schedule a video for that to show you how it can be done.
I've come back to this walk-through after successfully importing a number of assets correctly (because it's better than any documentation). Based on how you initially created assets, exported and then imported them, I have attempted a step further where I have created an asset that is assigned to multiple persons (my 'People' list resides in a separate schema). When I export the asset the attribute where there is a multiples-scenario comes into the csv with the multiples separated by 2 pipes as expected -> || (i.e. Scooby Doo||Shaggy) After deleting the asset in my schema then attempt to re-import this asset back into the schema (as you did early on in this video), neither person is included in my newly-created asset. Have you attempted an import with multiple objects assigned to an asset? I have to assume it is the mapping but cannot get it functional. Would love to hear if you've been successful on this.
Hey. I appreciate this video a lot, but I'm still having problems. I've set up my import and attribute mappings, and can successfully import into a schema. Problem is, when I try to change something about the csv, add it, and import again to update some of my new objects, it instead creates new objects out of every entry in the CSV! I'm using Key + Name as identifiers when importing, with Name as the label attribute. Do you have an idea what I'm doing wrong?
If you are matching the Key, then they should update properly, but there have been several bugs related to this, so one of those might still be around. Key is something that we can't really do much about, but try to set Name as unique if you do not have several items with the same name? Do that by configuring the attribute and check the Unique box. Let me know if that works for you, otherwise I'll see if I can replicate your problem and find another solution.
I tried defining the AQL in the attributes mapping for hours and it never worked, I just realized that it was a curly brace rather than a paranthesis. This was due to the screen resolution (720p), I couldn't tell the difference. Hope I save someone else a headache by calling that out.
Wooohooo!!! This video saved me A LOT of work! Thank you so much for this! You are very correct in that the documentation on this is not very good and I have been beating my head on the wall trying to figure this out. Well done!!
I am so happy you said that :) That was precisely the goal of making this video. Assets is amazing, but the documentation can use some work, so I'll do my best to do videos on it.
Just as an update, the expressions "Label = $()" didn't work for me... I had to use "name = ${}" to get it to work right.
@@sidx001 Are you by any chance on Server or Data Center?
@@jimiwikmanofficial I am on data center and neither label or name worked for me.. its been frustrating
@@jerrodvan24 I really struggled with this too. Hopefully this will work for you. Hope the generic syntax makes sense. For the attribute that you are trying to set with the import that maps to an Object, use this AQL: objectType = "" and "" = ${} This will locate the object and filter it to match the key field to the value you have in the import file. I think this same syntax will work to filter an object by a previous set attribute as well, but that gave me some trouble when running the import. I think the earlier comments might work but you would need to substitute "Label" or "Name" with the name of the key value you set in the object.
Thanks Jimi, you showed my in 10 minutes, what I could not find to do in hours. Much apprecited.
I am glad that you found it useful :)
Brilliant video used this to import assets today so much easier to understand
I am glad you found it useful :)
This video is incredibly helpful! Thank you, Jimi!
Glad you found it useful and I am sorry for this very late reply!
Thanks!! You just saved me hours of research
I am glad that you found it useful :)
So insanely helpful, thank you so much! Saved me a lot of time.
I am glad you had use for it :) I also appreciate the comment!
Great tutorial! Would you do a tutorial on how scheduled sync would work? I can't find any good documentation on how we would streamline the process of adding Objects with attributes via a CSV upload. This could be a huge timesaver!
I'll see what I can do. Is there any particular integration you are most interested in?
@@jimiwikmanofficial We're using Service Desk in the Data Center environment, but I'd hope the process would be similar for cloud. It seems the CSV upload is only seen as a one-time thing, but then there's the scheduler. I haven't figured out how to make good use of that, when we have incoming data that changes regularly. I have to go back and recreate the new mapping for each new upload. Thank you!
@ - I have a team modifying an exported CSV now, to add more objects and attribute data. Can Assets "monitor" a file location, and upload this file on a schedule? If not, how does the scheduling work?
You're Amazing! Thanks
Thank you, that is very kind of you to say :) I am glad you found it helpful.
What can I do when the field to import has unlimited cardinality, that is, several values can be used, for example?
I have an X server and this server has several applications installed: APP1||APP2||APP3, how do I get them to appear if application is an object?
When importing, it does it correctly if the server only has one application, if it has more, it does not add any value.
If you have multiple values, then you need to map that as an array. It should look something like this (not tested) Name IN (${Application${0}}). This will then loop that value and make multiple connections based on the number of items you have in that field. You can see it referenced at the bottom of this page: support.atlassian.com/jira-service-management-cloud/docs/use-assets-query-language-aql/
Combining references, functions and AQL
Functions, references, and AQL can be combined in powerful ways. For example, you could add multiple object references to a custom field attached to an object, and then search those references for a specific key:
object HAVING inboundReferences(Key IN (${MyCustomField${0}}))
Or a specific label, by using dot notation:
object HAVING inboundReferences(Label IN (${Portfolios.label${0}}))
Your JSM Assets videos have helped me. Thank you!
Once assets have been imported, can Automation be used to create new assets instead of adding each asset individually? If so, would you please elaborate? We have a lot of devices that are assigned to employees regularly and would like to use a Jira service ticket to trigger the creation of new assets.
Thank you
You have three actions related to Assets in your automation: Create object, Edit object and Lookup objects. So you can create new objects using automations and you can update existing ones as well. I am experimenting with my configuration settings, so I can automatically create new projects when requested and then also update the records through JSM requests.
I will schedule a video for that to show you how it can be done.
I've come back to this walk-through after successfully importing a number of assets correctly (because it's better than any documentation). Based on how you initially created assets, exported and then imported them, I have attempted a step further where I have created an asset that is assigned to multiple persons (my 'People' list resides in a separate schema).
When I export the asset the attribute where there is a multiples-scenario comes into the csv with the multiples separated by 2 pipes as expected -> || (i.e. Scooby Doo||Shaggy)
After deleting the asset in my schema then attempt to re-import this asset back into the schema (as you did early on in this video), neither person is included in my newly-created asset.
Have you attempted an import with multiple objects assigned to an asset? I have to assume it is the mapping but cannot get it functional. Would love to hear if you've been successful on this.
Hey. I appreciate this video a lot, but I'm still having problems.
I've set up my import and attribute mappings, and can successfully import into a schema. Problem is, when I try to change something about the csv, add it, and import again to update some of my new objects, it instead creates new objects out of every entry in the CSV! I'm using Key + Name as identifiers when importing, with Name as the label attribute. Do you have an idea what I'm doing wrong?
If you are matching the Key, then they should update properly, but there have been several bugs related to this, so one of those might still be around. Key is something that we can't really do much about, but try to set Name as unique if you do not have several items with the same name? Do that by configuring the attribute and check the Unique box.
Let me know if that works for you, otherwise I'll see if I can replicate your problem and find another solution.
I tried defining the AQL in the attributes mapping for hours and it never worked, I just realized that it was a curly brace rather than a paranthesis. This was due to the screen resolution (720p), I couldn't tell the difference. Hope I save someone else a headache by calling that out.