Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,363,064
Community Members
 
Community Events
168
Community Groups

Scriptrunner JIRA cloud - POST attachment - filename encoding issue

Edited

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.

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events