Búsquedas recientes
No hay búsquedas recientes
Add metadata to custom field, custom app
Publicado 09 ago 2022
We find metadata to be interesting and helpful. But the metadata is a bit hidden within the comment and it cannot be shared to another application (e.g., Jira) because it is not a field.
So our goal is some combination of the following
- modify the value of a custom field, named 'Metadata' and would have a specific Field ID
- upon ticket creation, the field would receive the metadata value(s)
- if for some reason the field already holds a value, do not overwrite
- upon subsequent edits to the ticket or comment additions, do no change or modify the field
The metadata values of interest:
metadata.system.client
metadata.system.ip_address
metadata.system.location
And the value written to the field would look something like:
Browser Client: {browserClient}
IP Address: {ip}
Location: {location}
We've found a custom app and modified it slightly to better suit our needs. But the app just appends the metadata to a comment rather than to a field. And the metadata is added to each and every comment. We just want to put the first comment's metadata into a field and that's all. The custom app is here and it works (but with the limitation mentioned):
https://github.com/eric-at-zd/metadata-writer
Is anyone up to create a version of the app which modifies a specific field? If we had the code, we could generate our own version of the custom app which modifies our specific field (by Field ID or by field name).
Thanks!
0
4 comentarios
Eric Nelson
I've thrown together a branch that showcases how to save the data to custom fields. You can see that here.
Thanks!
0
Mike Larsen
Thanks Eric
I can see how this can work. fieldGetter is important and the if/try logic is too.
Just making some notes here...
- For our needs, we'll have one field. So "metadataField" rather than one for ip and another for client
- 123 should be replaced with the specific field ID in "(obj) => obj.id === 123", e.g. field id 7779379345427 in the sandbox.
- I wonder if there is a way to base it off the field NAME instead. That way we have one implementation for both our sandbox and production environment. Perhaps obj.name or something. Both environments will have a field named "Metadata", but the field ID will differ in both because it is auto-assigned.
- Yes, this is meant to sync just one comment - the first comment, which may be from the end user and tends to be the most useful/interesting.
Thanks again. We'll try it out and maybe ask for some more advice or report good news.
-Mike
0
Patrik Kaldi
Dear Eric Nelson,
First of all thank you very much for your help . The app is working like a charm !
We would like to make it a bit suitable for our needs . We would like to gather also the location of the requestor not only the client and ip .
I couldn't find any documentation about the data types which can be gathered as metadata .
I tried something like
"locationClientField = location.value;
ipField = ip.value;
browserClientField = browserClient.value;"
without success .
If you could link the appropriate page of the documentation that would be awesome .
Thank you in advance ,
Patrik Káldi
0
Tipene Hughes
Hi Patrik Kaldi,
In the context of the example app linked above, you could access the location using the following:
You can read more about ticket comments and the metadata property here.
Thanks!
Tipene
0