Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

add attachments via rest api using scriptrunner

Sandy Garrido July 22, 2019 edited

I've tried to work out with various questions already asked and the api docs.

I've not been able to work out how to post attachments to an issue using scriptrunners Groovy.

My goal is to get all the attachment URLs from one issue and add them to another issue.


def attachments = get("/rest/api/3/issue/${projectIssueKey}").asJson().body.array[0].fields.attachment

attachments.each{
def filename = it.filename
def fileUrl = it.content
def fileBody = get("${fileUrl}").asBinary().body

// POST attachment
def resp = post("/rest/api/3/issue/${newProjectIssueKey}/attachments")
resp
}

 

It's at the post attachment part that I'm not sure what to do.


1 answer

0 votes
Sandy Garrido July 22, 2019
String key = "${issueKey}"
def newBody = get("${imageURL}").asBinary().body

InputStream stream = new ByteArrayInputStream(newBody.getBytes())

def resp = Unirest.post("/rest/api/3/issue/${key}/attachments")
.header("X-Atlassian-Token", "no-check")
.field('file', stream, 'image002.png')
.asJson()
resp

 I've now got to this!
But I guess the upload is not being done correctly as there is an attachment but the size is 0.0kb

Suggest an answer

Log in or Sign up to answer
TAGS
Atlassian, Team '25 Europe, Atlassian conference, AI-powered teamwork, Atlassian events, keynote speakers, Barcelona tech conference, Atlassian Williams Racing, Carlos Sainz, Jenson Button, Mike Cannon-Brookes, Anu Bharadwaj, Atlassian Rovo

Atlassian Williams Racing is coming to Team '25 Europe 🏎️

Discover the teamwork and precision behind success on and off the track. See how this high-performing team makes the impossible possible. Be one of the first 100 customers to register for a chance to win 2 tickets to an Atlassian Williams 2026 race.

Register now
AUG Leaders

Atlassian Community Events