Forums

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

Attachment upload from Instance A to Instance B

Kaspars Naumovs
January 18, 2021

Hi,

I have two JIRA instances located in two different data-centers.

I am trying to develop a functionality via workflow post function that would copy attachments from issue in Instance A to an issue in Instance B.

I have scriptrunner in both of my JIRA instances.

For now I am just trying to get one attachment via API and upload it to an issue in the same instance via API.

The code below creates the attachment (I am running it from ScriptRunner script console) - however I am only able to upload text attachments.

def connection = new URL("https://xxxx/secure/attachment/10108/test.txt").openConnection() as HttpURLConnection
connection.setRequestMethod( "GET" )
connection.setRequestProperty( "Authorization", "Basic xxxxxxxxxxx" )
connection.doOutput = true
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8")
connection.connect()
def image = connection.inputStream.text

def body = "---\r\nContent-Disposition: form-data; name=\"file\"; filename=\"text.txt\"\r\nContent-Type: text/plain\r\n\r\n $image \r\n---"

def upConnection = new URL("https://xxxxxxxxxxxxx/rest/api/latest/issue/xxxxxxxxxx/attachments").openConnection() as HttpURLConnection
upConnection.setRequestMethod( "POST" )
upConnection.setRequestProperty( "Authorization", "Basic xxxxxxxxx" )
upConnection.setRequestProperty( "X-Atlassian-Token", "nocheck" )
upConnection.setRequestProperty( "Content-Type", "multipart/form-data; boundary=-")
upConnection.doOutput = true
upConnection.getOutputStream().write(body.getBytes())
upConnection.connect()
def upCode = upConnection.getResponseCode();
def upResult = upConnection.inputStream

upResult.text

 

1 answer

0 votes
Elisa [Atlassian]
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 7, 2014

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events