You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Hi everyone,
I am facing an issue with bad filename encoding while posting attachment to an issue.
The code I use:
def attachmentContentData = get("/rest/api/3/attachment/content/10078") // get attachment binary data
.asBinary()
.body
InputStream stream = new ByteArrayInputStream(attachmentContentData.getBytes()) // create binary stream
def attachmentMetadata = get("/rest/api/3/attachment/10078") // get attachment metadata
.asObject(Map)
.body
String fileName = attachmentMetadata["filename"] // define filename as String
def sendAttachment = post("/rest/api/3/issue/XXX-77/attachments") // send attachment
.header("Accept", "application/json")
.header("X-Atlassian-Token", "no-check")
.field("file", stream, fileName)
.asJson()
println sendAttachment
Response:
Body: [{"self":"https://myjirasite.atlassian.net/rest/api/3/attachment/10197","id":"10197","filename":"?RA-obr?zek.png","author":...
When the attachment's filename contains non ASCII characters, the characters are changed into the question marks, eg. "?esk?_Republika.png" vs. "Česká_Republika.png".
The problem probably arises when json is created.
When I
println fileName
it correctly returns "Česká_Republika.png".
I tried as much options to fix the issue as I could, including various ways of string transcoding.
Thank you in advance for your help.