Module issue_attachments_api

Source

Structs§

AddAttachmentParams
struct for passing parameters to the method add_attachment
ExpandAttachmentForHumansParams
struct for passing parameters to the method expand_attachment_for_humans
ExpandAttachmentForMachinesParams
struct for passing parameters to the method expand_attachment_for_machines
GetAttachmentContentParams
struct for passing parameters to the method get_attachment_content
GetAttachmentParams
struct for passing parameters to the method get_attachment
GetAttachmentThumbnailParams
struct for passing parameters to the method get_attachment_thumbnail
RemoveAttachmentParams
struct for passing parameters to the method remove_attachment

Enums§

AddAttachmentError
struct for typed errors of method add_attachment
ExpandAttachmentForHumansError
struct for typed errors of method expand_attachment_for_humans
ExpandAttachmentForMachinesError
struct for typed errors of method expand_attachment_for_machines
GetAttachmentContentError
struct for typed errors of method get_attachment_content
GetAttachmentError
struct for typed errors of method get_attachment
GetAttachmentMetaError
struct for typed errors of method get_attachment_meta
GetAttachmentThumbnailError
struct for typed errors of method get_attachment_thumbnail
RemoveAttachmentError
struct for typed errors of method remove_attachment

Functions§

add_attachment
Adds one or more attachments to an issue. Attachments are posted as multipart/form-data (RFC 1867). Note that: * The request must have a X-Atlassian-Token: no-check header, if not it is blocked. See Special headers for more information. * The name of the multipart/form-data parameter that contains the attachments must be file. The following examples upload a file called myfile.txt to the issue TEST-123: #### curl #### curl –location –request POST ‘https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments’ -u ‘email@example.com:<api_token>’ -H ‘X-Atlassian-Token: no-check’ –form ‘file=@"myfile.txt"’ #### Node.js #### // This code sample uses the ‘node-fetch’ and ‘form-data’ libraries: // https://www.npmjs.com/package/node-fetch // https://www.npmjs.com/package/form-data const fetch = require(‘node-fetch’); const FormData = require(‘form-data’); const fs = require(‘fs’); const filePath = ‘myfile.txt’; const form = new FormData(); const stats = fs.statSync(filePath); const fileSizeInBytes = stats.size; const fileStream = fs.createReadStream(filePath); form.append(‘file’, fileStream, {knownLength: fileSizeInBytes}); fetch(‘https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments’, { method: ‘POST’, body: form, headers: { ‘Authorization’: Basic ${Buffer.from( 'email@example.com:' ).toString('base64')}, ‘Accept’: ‘application/json’, ‘X-Atlassian-Token’: ‘no-check’ } }) .then(response => { console.log( Response: ${response.status} ${response.statusText} ); return response.text(); }) .then(text => console.log(text)) .catch(err => console.error(err)); #### Java #### // This code sample uses the ‘Unirest’ library: // http://unirest.io/java.html HttpResponse response = Unirest.post("https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments") .basicAuth("email@example.com", "") .header("Accept", "application/json") .header("X-Atlassian-Token", "no-check") .field("file", new File("myfile.txt")) .asJson(); System.out.println(response.getBody()); #### Python #### # This code sample uses the ‘requests’ library: # http://docs.python-requests.org import requests from requests.auth import HTTPBasicAuth import json url = "https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments" auth = HTTPBasicAuth("email@example.com", "") headers = { "Accept": "application/json", "X-Atlassian-Token": "no-check" } response = requests.request( "POST", url, headers = headers, auth = auth, files = { "file": ("myfile.txt", open("myfile.txt","rb"), "application-type") } ) print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": "))) #### PHP #### // This code sample uses the ‘Unirest’ library: // http://unirest.io/php.html Unirest\Request::auth(‘email@example.com’, ‘’); $headers = array( ‘Accept’ => ‘application/json’, ‘X-Atlassian-Token’ => ‘no-check’ ); $parameters = array( ‘file’ => File::add(‘myfile.txt’) ); $response = Unirest\Request::post( ‘https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments’, $headers, $parameters ); var_dump($response) #### Forge #### // This sample uses Atlassian Forge and the form-data library. // https://developer.atlassian.com/platform/forge/ // https://www.npmjs.com/package/form-data import api from "@forge/api"; import FormData from "form-data"; const form = new FormData(); form.append(‘file’, fileStream, {knownLength: fileSizeInBytes}); const response = await api.asApp().requestJira(‘/rest/api/2/issue/{issueIdOrKey}/attachments’, { method: ‘POST’, body: form, headers: { ‘Accept’: ‘application/json’, ‘X-Atlassian-Token’: ‘no-check’ } }); console.log(Response: ${response.status} ${response.statusText}); console.log(await response.json()); Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a MultiPartEntity class for multipart POST operations. This operation can be accessed anonymously. Permissions required: * Browse Projects and Create attachments project permission for the project that the issue is in. * If issue-level security is configured, issue-level security permission to view the issue.
expand_attachment_for_humans
Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported. Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment’s ID and name. Otherwise, use Get contents metadata for an expanded attachment, which only returns the metadata for the attachment’s contents. This operation can be accessed anonymously. Permissions required: For the issue containing the attachment: * Browse projects project permission for the project that the issue is in. * If issue-level security is configured, issue-level security permission to view the issue.
expand_attachment_for_machines
Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported. Use this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use Get all metadata for an expanded attachment which also returns the metadata for the attachment itself, such as the attachment’s ID and name. This operation can be accessed anonymously. Permissions required: For the issue containing the attachment: * Browse projects project permission for the project that the issue is in. * If issue-level security is configured, issue-level security permission to view the issue.
get_attachment
Returns the metadata for an attachment. Note that the attachment itself is not returned. This operation can be accessed anonymously. Permissions required: * Browse projects project permission for the project that the issue is in. * If issue-level security is configured, issue-level security permission to view the issue.
get_attachment_content
Returns the contents of an attachment. A Range header can be set to define a range of bytes within the attachment to download. See the HTTP Range header standard for details. To return a thumbnail of the attachment, use Download attachment thumbnail. This operation can be accessed anonymously. Permissions required: For the issue containing the attachment: * Browse projects project permission for the project that the issue is in. * If issue-level security is configured, issue-level security permission to view the issue.
get_attachment_meta
Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed. Note that there are also project permissions that restrict whether users can create and delete attachments. This operation can be accessed anonymously. Permissions required: None.
get_attachment_thumbnail
Returns the thumbnail of an attachment. To return the attachment contents, use Download attachment content. This operation can be accessed anonymously. Permissions required: For the issue containing the attachment: * Browse projects project permission for the project that the issue is in. * If issue-level security is configured, issue-level security permission to view the issue.
remove_attachment
Deletes an attachment from an issue. This operation can be accessed anonymously. Permissions required: For the project holding the issue containing the attachment: * Delete own attachments project permission to delete an attachment created by the calling user. * Delete all attachments project permission to delete an attachment created by any user.