Skip to content

Instantly share code, notes, and snippets.

@mitallast
Created August 19, 2020 19:44
Show Gist options
  • Save mitallast/39511615fa4898eb8ba243a67c6df0d4 to your computer and use it in GitHub Desktop.
Save mitallast/39511615fa4898eb8ba243a67c6df0d4 to your computer and use it in GitHub Desktop.
Jira Server API Converter from wadl to openapi 3.1.0-RC0
package io.ccmp.integration.jira.v2.spec
import java.nio.file.{Files, Paths}
import io.circe.Json
import io.circe.syntax._
import io.circe.parser._
import io.circe.generic.auto._
import scala.xml._
object GenerateApp extends App {
def pretty(node: Node): Unit = println(new PrettyPrinter(120, 4).format(node))
def parseApplication(app: Elem): OpenAPI = {
implicit val openapi: OpenAPI.Builder = OpenAPI.builder
for {
resources <- app \ "resources"
} yield parseResources(resources)
openapi.build()
}
def parseResources(resources: Node)(implicit openapi: OpenAPI.Builder): Unit = {
val base = resources \@ "base"
openapi.addServer(Server(base))
for {
resource <- resources \ "resource"
} yield parseResource(resource, "/", Vector.empty)
}
def parseResource(resource: Node, base: String, pathParameters: Vector[Parameter])(
implicit openapi: OpenAPI.Builder
): Unit = {
val path = base + resource \@ "path"
val resourceParameters = resource \ "param" map (parseParam) toVector
val parameters = pathParameters ++ resourceParameters
for {
resource <- resource \ "resource"
} yield parseResource(resource, path + "/", parameters)
for {
method <- resource \ "method"
} yield parseMethod(method, path, parameters)
}
def parseMethod(node: Node, path: String, parameters: Vector[Parameter])(implicit openapi: OpenAPI.Builder): Unit = {
implicit val builder: Operation.Builder = Operation.builder
val method = (node \@ "name").toLowerCase
val id = node \@ "id"
val doc = (node \ "doc" headOption).map(_.text.trim).getOrElse("")
println(s"$id: $method $path")
builder.withDescription(doc)
builder.withOperationId(id)
parameters.foreach(builder.addParameter)
for {
request <- node \ "request"
} yield parseRequest(request)
for {
response <- node \ "response"
} yield parseResponse(response)
openapi.addRequest(path, method, builder.build())
println()
}
def parseRequest(request: Node)(implicit openapi: OpenAPI.Builder, operation: Operation.Builder): Unit = {
for {
param <- request \ "param"
} yield {
val parameter = parseParam(param)
operation.addParameter(parameter)
}
for {
representation <- request \ "representation"
} yield parseRequestRepresentation(representation)
}
def parseRequestRepresentation(
representation: Node
)(implicit openapi: OpenAPI.Builder, operation: Operation.Builder): Unit = {
val mediaType = representation \@ "mediaType"
if (mediaType != "") {
val mediaBuilder = MediaType.builder
for {
doc <- representation \ "doc" \ "p"
header = (doc \ "h6" head).text.trim
code = (doc \ "pre" \ "code" head).text.trim
} yield {
header match {
case "Example" =>
parse(code) match {
case Left(failure) =>
pretty(doc)
println(failure)
case Right(json) =>
mediaBuilder.withExample(json)
}
case "Schema" =>
parseJsonSchema(code) match {
case Left(failure) =>
pretty(doc)
throw failure
case Right(json) =>
mediaBuilder.withSchema(json)
}
case _ =>
pretty(doc)
throw new IllegalArgumentException("unexpected representation")
}
}
if (mediaBuilder.hasSchema) {
val media = mediaBuilder.build()
val body = RequestBody.builder
.withContent(mediaType, media)
.build()
operation.withRequestBody(body)
}
}
}
def parseResponse(response: Node)(implicit openapi: OpenAPI.Builder, operation: Operation.Builder): Unit = {
val status = (response \@ "status").toIntOption.map(_.toString).getOrElse("default")
println(s"status: $status")
implicit val builder: Response.Builder = Response.builder
for {
representation <- response \ "representation"
} yield parseResponseRepresentation(representation)
operation.addResponse(status, builder.build())
}
def parseResponseRepresentation(
representation: Node
)(implicit openapi: OpenAPI.Builder, response: Response.Builder): Unit = {
val builder = MediaType.builder
val mediaType = representation \@ "mediaType"
println(s"mediaType: $mediaType")
for {
doc <- representation \ "doc"
} yield {
if (doc \ "p" isEmpty) {
val description = doc.text.trim
response.withDescription(description)
} else {
val header = (doc \ "p" \ "h6" head).text.trim
val code = (doc \ "p" \ "pre" \ "code" head).text.trim
header match {
case "Example" =>
parse(code) match {
case Left(failure) =>
pretty(doc)
println(failure)
case Right(json) =>
builder.withExample(json)
}
case "Schema" =>
parseJsonSchema(code) match {
case Left(failure) =>
pretty(doc)
throw failure
case Right(json) =>
builder.withSchema(json)
}
case _ =>
pretty(doc)
throw new IllegalArgumentException("unexpected representation")
}
}
}
if (builder.hasSchema) {
val media = builder.build()
response.withContent(mediaType, media)
}
}
def parseParam(param: Node): Parameter = {
val builder = Parameter.builder
builder.withName(param \@ "name" trim)
(param \ "doc" headOption).map(_.text.trim).foreach(builder.withDescription)
param \@ "type" trim match {
case "xs:string" => builder.withSchema(Schema.`string`)
case "xs:boolean" => builder.withSchema(Schema.`boolean`)
case "xs:int" => builder.withSchema(Schema.`int`)
case "xs:long" => builder.withSchema(Schema.`long`)
case _ => throw new IllegalArgumentException("unexpected type")
}
param \@ "style" trim match {
case "query" => builder.withIn("query")
case "template" => builder.withIn("path").withRequired(true)
case "header" => builder.withIn("header")
case _ => throw new IllegalArgumentException("unexpected style")
}
builder.build()
}
def parseJsonSchema(code: String)(implicit openapi: OpenAPI.Builder): Either[Throwable, Json] =
for {
json <- parse(code)
} yield {
println("json schema:")
println(json)
import io.circe.optics.JsonOptics._
import monocle.function.Plated
val transformed = Plated.transform[Json] { j =>
j.asString match {
case Some(ref) if ref.startsWith("#/definitions/") =>
Json.fromString(ref.replace("#/definitions/", "#/components/schemas/"))
case Some(_) => j
case None => j
}
}(json)
val root = transformed.asObject.get
for {
definitionsOpt <- root("definitions")
definitions <- definitionsOpt.asObject
} yield {
definitions.toMap.foreach {
case (name, schema) =>
openapi.components.addComponent(name, schema)
}
}
root("type").get.asString.get match {
case "object" =>
val properties = root("properties").getOrElse(Json.Null)
val patternProperties = root("patternProperties").getOrElse(Json.Null)
val additionalProperties = root("additionalProperties").getOrElse(Json.Null)
val required = root("required").getOrElse(Json.Null)
val title = root("title").getOrElse(Json.Null)
Json.obj(
"title" -> title,
"type" -> Json.fromString("object"),
"properties" -> properties,
"patternProperties" -> patternProperties,
"additionalProperties" -> additionalProperties,
"required" -> required,
)
case "array" =>
val items = root("items").get
Json.obj("type" -> Json.fromString("array"), "items" -> items)
case "string" =>
Json.obj("type" -> Json.fromString("string"))
case _ => throw new IllegalArgumentException("unexpected schema type")
}
}
def cleanupOpenapi(json: Json): Json = {
import io.circe.optics.JsonOptics._
import monocle.function.Plated
Plated.transform[Json] { j =>
j.asObject match {
case Some(root) =>
var filtered = root.filter {
case (_, json) => !json.isNull
}
if (filtered.contains("patternProperties")) {
filtered = filtered.remove("additionalProperties")
}
filtered.asJson
case None => j
}
}(json)
}
val servers = Vector.newBuilder
val root = XML.loadFile("modules/server/src/main/scala/io/ccmp/integration/jira/v2/spec/jira-rest-plugin.wadl")
val openapi = parseApplication(root)
Files.writeString(Paths.get("jira.openapi.json"), cleanupOpenapi(openapi.asJson).spaces4SortKeys)
final case class OpenAPI(
openapi: String,
info: Info,
servers: Vector[Server],
paths: Map[String, Map[String, Operation]], // uri => method => request
components: Components
)
object OpenAPI {
def builder: Builder = new Builder()
final class Builder {
private val _openapi = "3.1.0-RC0"
private val _info = Info.builder
private var _servers = Vector.newBuilder[Server]
private var _paths: Map[String, Map[String, Operation]] = Map.empty
private val _components = Components.builder
def info: Info.Builder = _info
def components: Components.Builder = _components
def addServer(server: Server): Builder = {
_servers += server
this
}
def addRequest(path: String, method: String, request: Operation): Builder = {
var methods = _paths.getOrElse(path, Map.empty)
methods += ((method, request))
_paths += ((path, methods))
this
}
def build(): OpenAPI =
new OpenAPI(_openapi, _info.build(), _servers.result(), _paths, _components.build())
}
}
final case class Info(title: String, version: String)
object Info {
def builder: Builder = new Builder()
final class Builder {
private var title: String = ""
private var version: String = "0.0.1"
def withTitle(value: String): Builder = {
title = value
this
}
def withVersion(value: String): Builder = {
version = value
this
}
def build(): Info = new Info(title, version)
}
}
final case class Server(url: String)
final case class Operation(
tags: Vector[String],
description: Option[String],
operationId: Option[String],
parameters: Vector[Parameter],
requestBody: Option[RequestBody],
responses: Map[String, Response]
)
object Operation {
def builder: Builder = new Builder()
final class Builder {
private val _tags = Vector.newBuilder[String]
private var _description: Option[String] = None
private var _operationId: Option[String] = None
private val _parameters = Vector.newBuilder[Parameter]
private var _requestBody: Option[RequestBody] = None
private val _responses = Map.newBuilder[String, Response]
def addTag(tag: String): Builder = {
_tags += tag
this
}
def withDescription(value: String): Builder = {
_description = Some(value)
this
}
def withOperationId(value: String): Builder = {
_operationId = Some(value)
this
}
def addParameter(parameter: Parameter): Builder = {
_parameters += parameter
this
}
def withRequestBody(body: RequestBody): Builder = {
_requestBody = Some(body)
this
}
def addResponse(status: String, response: Response): Builder = {
_responses += ((status, response))
this
}
def build(): Operation =
new Operation(
tags = _tags.result(),
description = _description,
operationId = _operationId,
parameters = _parameters.result(),
requestBody = _requestBody,
responses = _responses.result()
)
}
}
final case class Parameter(name: String, in: String, required: Boolean, schema: Json, description: Option[String])
object Parameter {
def builder: Builder = new Builder()
final class Builder {
private var _name: String = _
private var _in: String = _
private var _required: Boolean = false
private var _schema: Json = _
private var _description: Option[String] = None
def withName(name: String): Builder = {
_name = name
this
}
def withIn(in: String): Builder = {
_in = in
this
}
def withRequired(required: Boolean): Builder = {
_required = required
this
}
def withSchema(schema: Json): Builder = {
_schema = schema
this
}
def withDescription(description: String): Builder = {
_description = Some(description)
this
}
def build(): Parameter = {
require(_name != null)
require(_in != null)
require(_schema != null)
new Parameter(_name, _in, _required, _schema, _description)
}
}
}
final case class Response(description: String, content: Option[Map[String, MediaType]])
object Response {
def builder: Builder = new Builder()
final class Builder {
private var _description: String = ""
private var _content: Option[Map[String, MediaType]] = None
def withDescription(value: String): Builder = {
_description = value
this
}
def withContent(mediaType: String, schema: MediaType): Builder = {
_content = Some(Map(mediaType -> schema))
this
}
def build(): Response = new Response(_description, _content)
}
}
final case class RequestBody(description: Option[String], content: Map[String, MediaType]) // media type => schema
object RequestBody {
def builder: Builder = new Builder()
final class Builder {
private var _description: Option[String] = None
private var _mediaType: String = _
private var _schema: MediaType = _
def withDescription(description: String): Builder = {
_description = Some(description)
this
}
def withContent(mediaType: String, schema: MediaType): Builder = {
_mediaType = mediaType
_schema = schema
this
}
def build(): RequestBody = {
require(_mediaType != null)
require(_schema != null)
new RequestBody(_description, content = Map(_mediaType -> _schema))
}
}
}
final case class Components(schemas: Map[String, Json])
object Components {
def builder: Builder = new Builder()
final class Builder {
private val _schemas = Map.newBuilder[String, Json]
def addComponent(name: String, schema: Json): Builder = {
_schemas += ((name, schema))
this
}
def build(): Components = new Components(_schemas.result())
}
}
final case class MediaType(schema: Json, example: Option[Json])
object MediaType {
def builder: Builder = new Builder()
final class Builder {
private var _schema: Json = _
private var _example: Option[Json] = None
def withSchema(schema: Json): Builder = {
_schema = schema
this
}
def withExample(example: Json): Builder = {
_example = Some(example)
this
}
def hasSchema: Boolean = _schema != null
def build(): MediaType = {
require(_schema != null)
new MediaType(_schema, _example)
}
}
}
object Schema {
val `string`: Json = Json.obj("type" -> Json.fromString("string"))
val `boolean`: Json = Json.obj("type" -> Json.fromString("boolean"))
val `int`: Json = Json.obj("type" -> Json.fromString("integer"), "format" -> Json.fromString("int32"))
val `long`: Json = Json.obj("type" -> Json.fromString("integer"), "format" -> Json.fromString("int64"))
}
}
This file has been truncated, but you can view the full file.
{
"components" : {
"schemas" : {
"associated-item" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"parentId" : {
"type" : "string"
},
"parentName" : {
"type" : "string"
},
"typeName" : {
"type" : "string"
}
},
"title" : "Associated Item",
"type" : "object"
},
"custom-field-value-notification" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"field" : {
"additionalProperties" : false,
"properties" : {
"clauseNames" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"custom" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"navigable" : {
"type" : "boolean"
},
"orderable" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
},
"searchable" : {
"type" : "boolean"
}
},
"title" : "Field",
"type" : "object"
},
"id" : {
"type" : "integer"
},
"notificationType" : {
"type" : "string"
},
"parameter" : {
"type" : "string"
}
},
"title" : "Custom Field Value Notification",
"type" : "object"
},
"email-notification" : {
"additionalProperties" : false,
"properties" : {
"emailAddress" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"notificationType" : {
"type" : "string"
},
"parameter" : {
"type" : "string"
}
},
"title" : "Email Notification",
"type" : "object"
},
"error-collection" : {
"additionalProperties" : false,
"properties" : {
"errorMessages" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"errors" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"status" : {
"type" : "integer"
}
},
"title" : "Error Collection",
"type" : "object"
},
"field-meta" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
},
"type" : "array"
},
"autoCompleteUrl" : {
"type" : "string"
},
"defaultValue" : {
},
"fieldId" : {
"type" : "string"
},
"hasDefaultValue" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"required" : {
"type" : "boolean"
},
"schema" : {
"$ref" : "#/components/schemas/json-type"
}
},
"required" : [
"required"
],
"title" : "Field Meta",
"type" : "object"
},
"group" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Group",
"type" : "object"
},
"group-notification" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"group" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Group",
"type" : "object"
},
"id" : {
"type" : "integer"
},
"notificationType" : {
"type" : "string"
},
"parameter" : {
"type" : "string"
}
},
"title" : "Group Notification",
"type" : "object"
},
"history-metadata-participant" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"displayNameKey" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"type" : {
"type" : "string"
},
"url" : {
"type" : "string"
}
},
"title" : "History Metadata Participant",
"type" : "object"
},
"icon" : {
"additionalProperties" : false,
"properties" : {
"link" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"url16x16" : {
"type" : "string"
}
},
"title" : "Icon",
"type" : "object"
},
"index-replication-queue-entry" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "integer"
},
"replicationTime" : {
"type" : "object"
}
},
"title" : "Index Replication Queue Entry",
"type" : "object"
},
"issue-ref" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"additionalProperties" : false,
"properties" : {
"issuetype" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"priority" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"statusColor" : {
"type" : "string"
}
},
"title" : "Priority",
"type" : "object"
},
"status" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"statusCategory" : {
"additionalProperties" : false,
"properties" : {
"colorName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "Status Category",
"type" : "object"
},
"statusColor" : {
"type" : "string"
}
},
"title" : "Status",
"type" : "object"
},
"summary" : {
"type" : "string"
}
},
"title" : "Fields",
"type" : "object"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
}
},
"title" : "Issue Ref",
"type" : "object"
},
"issue-type" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"json-type" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
},
"link-group" : {
"additionalProperties" : false,
"properties" : {
"groups" : {
"items" : {
"$ref" : "#/components/schemas/link-group"
},
"type" : "array"
},
"header" : {
"$ref" : "#/components/schemas/simple-link"
},
"id" : {
"type" : "string"
},
"links" : {
"items" : {
"$ref" : "#/components/schemas/simple-link"
},
"type" : "array"
},
"styleClass" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Link Group",
"type" : "object"
},
"notification-event" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"templateEvent" : {
"$ref" : "#/components/schemas/notification-event"
}
},
"title" : "Notification Event",
"type" : "object"
},
"project-role-notification" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"notificationType" : {
"type" : "string"
},
"parameter" : {
"type" : "string"
},
"projectRole" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
}
},
"title" : "Project Role Notification",
"type" : "object"
},
"role-notification" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"notificationType" : {
"type" : "string"
},
"parameter" : {
"type" : "string"
}
},
"title" : "Role Notification",
"type" : "object"
},
"simple-link" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"simple-list-wrapper" : {
"additionalProperties" : false,
"properties" : {
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Group",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
}
},
"required" : [
"size"
],
"title" : "Simple List Wrapper",
"type" : "object"
},
"user" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"applicationRoles" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"deleted" : {
"type" : "boolean"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"groups" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"key" : {
"type" : "string"
},
"locale" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"user-notification" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"notificationType" : {
"type" : "string"
},
"parameter" : {
"type" : "string"
},
"user" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
}
},
"title" : "User Notification",
"type" : "object"
}
}
},
"info" : {
"title" : "",
"version" : "0.0.1"
},
"openapi" : "3.1.0-RC0",
"paths" : {
"/api/2//mypermissions" : {
"get" : {
"description" : "Returns all permissions in the system and whether the currently logged in user has them. You can optionally provide a specific context to get permissions for\n (projectKey OR projectId OR issueKey OR issueId)\n <ul>\n <li> When no context supplied the project related permissions will return true if the user has that permission in ANY project </li>\n <li> If a project context is provided, project related permissions will return true if the user has the permissions in the specified project.\n For permissions that are determined using issue data (e.g Current Assignee), true will be returned if the user meets the permission criteria in ANY issue in that project </li>\n <li> If an issue context is provided, it will return whether or not the user has each permission in that specific issue</li>\n </ul>\n <p>\n NB: The above means that for issue-level permissions (EDIT_ISSUE for example), hasPermission may be true when no context is provided, or when a project context is provided,\n <b>but</b> may be false for any given (or all) issues. This would occur (for example) if Reporters were given the EDIT_ISSUE permission. This is because\n any user could be a reporter, except in the context of a concrete issue, where the reporter is known.\n </p>\n <p>\n Global permissions will still be returned for all scopes.\n </p>\n <p>\n Prior to version 6.4 this service returned project permissions with keys corresponding to com.atlassian.jira.security.Permissions.Permission constants.\n Since 6.4 those keys are considered deprecated and this service returns system project permission keys corresponding to constants defined in com.atlassian.jira.permission.ProjectPermissions.\n Permissions with legacy keys are still also returned for backwards compatibility, they are marked with an attribute deprecatedKey=true.\n The attribute is missing for project permissions with the current keys.\n </p>",
"operationId" : "getPermissions",
"parameters" : [
{
"description" : "- key of project to scope returned permissions for.",
"in" : "query",
"name" : "projectKey",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- id of project to scope returned permissions for.",
"in" : "query",
"name" : "projectId",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- key of the issue to scope returned permissions for.",
"in" : "query",
"name" : "issueKey",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- id of the issue to scope returned permissions for.",
"in" : "query",
"name" : "issueId",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"permissions" : {
"EDIT_ISSUE" : {
"description" : "Ability to edit issues.",
"havePermission" : true,
"id" : "12",
"key" : "EDIT_ISSUES",
"name" : "Edit Issues",
"type" : "PROJECT"
}
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"permissions" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"type" : {
"enum" : [
"GLOBAL",
"PROJECT"
],
"type" : "string"
}
},
"title" : "Permission",
"type" : "object"
}
},
"type" : "object"
}
},
"title" : "Permissions",
"type" : "object"
}
}
},
"description" : "Returns a list of all permissions in Jira and whether the user has them."
},
"400" : {
"description" : "Returned if the project or issue id is invalid."
},
"401" : {
"description" : "Returned if request is on behalf of anonymous user."
},
"404" : {
"description" : "Returned if the project or issue id or key is not found."
}
},
"tags" : [
]
}
},
"/api/2//permissions" : {
"get" : {
"description" : "Returns all permissions that are present in the Jira instance - Global, Project and the global ones added by plugins",
"operationId" : "getAllPermissions",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"permissions" : {
"BULK_CHANGE" : {
"description" : "Ability to modify a collection of issues at once. For example, resolve multiple issues in one step.",
"key" : "BULK_CHANGE",
"name" : "Bulk Change",
"type" : "GLOBAL"
}
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"permissions" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"type" : {
"enum" : [
"GLOBAL",
"PROJECT"
],
"type" : "string"
}
},
"title" : "Permission",
"type" : "object"
}
},
"type" : "object"
}
},
"title" : "Permissions",
"type" : "object"
}
}
},
"description" : "Returns a list of all permissions in Jira."
},
"401" : {
"description" : "Returned for unauthenticated requests"
},
"403" : {
"description" : "Returned for users without administer permissions"
}
},
"tags" : [
]
}
},
"/api/2/application-properties" : {
"get" : {
"description" : "Returns an application property.",
"operationId" : "getProperty",
"parameters" : [
{
"description" : "a String containing the property key",
"in" : "query",
"name" : "key",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "when fetching a list specifies the permission level of all items in the list\n see {@link com.atlassian.jira.bc.admin.ApplicationPropertiesService.EditPermissionLevel}",
"in" : "query",
"name" : "permissionLevel",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "when fetching a list allows the list to be filtered by the property's start of key\n e.g. \"jira.lf.*\" whould fetch only those permissions that are editable and whose keys start with\n \"jira.lf.\". This is a regex.",
"in" : "query",
"name" : "keyFilter",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"defaultValue" : "",
"desc" : "Jira home directory",
"id" : "jira.home",
"key" : "jira.home",
"name" : "jira.home",
"type" : "string",
"value" : "/var/jira/jira-home"
},
{
"defaultValue" : "CLONE -",
"id" : "jira.clone.prefix",
"key" : "jira.clone.prefix",
"name" : "The prefix added to the Summary field of cloned issues",
"type" : "string",
"value" : "CLONE -"
}
],
"schema" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defaultValue" : {
"type" : "string"
},
"desc" : {
"type" : "string"
},
"example" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Property",
"type" : "object"
}
}
},
"description" : "Returned if the property exists and the currently authenticated user has permission to view it. Contains a\n full representation of the property."
},
"404" : {
"description" : "Returned if the property does not exist or the currently authenticated user does not have permission to\n view it."
}
},
"tags" : [
]
}
},
"/api/2/application-properties//{id}" : {
"put" : {
"description" : "Modify an application property via PUT. The \"value\" field present in the PUT will override the existing value.",
"operationId" : "setPropertyViaRestfulTable",
"parameters" : [
{
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"*/*" : {
"example" : {
"id" : "jira.home",
"value" : "/var/jira/jira-home"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Application Property",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defaultValue" : {
"type" : "string"
},
"desc" : {
"type" : "string"
},
"example" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Property",
"type" : "object"
}
}
},
"description" : "Returned if the property exists and the currently authenticated user has permission to edit it."
},
"403" : {
"description" : "Returned if the currently authenticated user does not have permission to edit the property."
},
"404" : {
"description" : "Returned if the property does not exist or the currently authenticated user does not have permission to\n view it."
}
},
"tags" : [
]
}
},
"/api/2/application-properties/advanced-settings" : {
"get" : {
"description" : "Returns the properties that are displayed on the \"General Configuration > Advanced Settings\" page.",
"operationId" : "getAdvancedSettings",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"defaultValue" : "",
"desc" : "Jira home directory",
"id" : "jira.home",
"key" : "jira.home",
"name" : "jira.home",
"type" : "string",
"value" : "/var/jira/jira-home"
},
{
"defaultValue" : "CLONE -",
"id" : "jira.clone.prefix",
"key" : "jira.clone.prefix",
"name" : "The prefix added to the Summary field of cloned issues",
"type" : "string",
"value" : "CLONE -"
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defaultValue" : {
"type" : "string"
},
"desc" : {
"type" : "string"
},
"example" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Property",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returns all properties to display in the \"General Configuration > Advanced Settings\" page."
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user is not an administrator."
}
},
"tags" : [
]
}
},
"/api/2/applicationrole" : {
"get" : {
"description" : "Returns all ApplicationRoles in the system. Will also return an ETag header containing a version hash of the\n collection of ApplicationRoles.",
"operationId" : "getAll",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"defaultGroups" : [
"jira-software-users"
],
"defined" : false,
"groups" : [
"jira-software-users",
"jira-testers"
],
"hasUnlimitedSeats" : false,
"key" : "jira-software",
"name" : "Jira Software",
"numberOfSeats" : 10,
"platform" : false,
"remainingSeats" : 5,
"selectedByDefault" : false,
"userCount" : 5,
"userCountDescription" : "5 developers"
},
{
"defaultGroups" : [
"jira-core-users"
],
"defined" : false,
"groups" : [
"jira-core-users"
],
"hasUnlimitedSeats" : false,
"key" : "jira-core",
"name" : "Jira Core",
"numberOfSeats" : 1,
"platform" : true,
"remainingSeats" : 1,
"selectedByDefault" : false,
"userCount" : 0,
"userCountDescription" : "0 users"
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"defaultGroups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defined" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"hasUnlimitedSeats" : {
"type" : "boolean"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"numberOfSeats" : {
"type" : "integer"
},
"platform" : {
"type" : "boolean"
},
"remainingSeats" : {
"type" : "integer"
},
"selectedByDefault" : {
"type" : "boolean"
},
"userCount" : {
"type" : "integer"
},
"userCountDescription" : {
"type" : "string"
}
},
"title" : "Application Role",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returns all ApplicationRoles in the system"
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user is not an administrator."
}
},
"tags" : [
]
},
"put" : {
"description" : "Updates the ApplicationRoles with the passed data if the version hash is the same as the server.\n Only the groups and default groups setting of the role may be updated. Requests to change the key\n or the name of the role will be silently ignored. It is acceptable to pass only the roles that are updated\n as roles that are present in the server but not in data to update with, will not be deleted.",
"operationId" : "putBulk",
"parameters" : [
{
"in" : "header",
"name" : "If-Match",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"defaultGroups" : [
"jira-software-users"
],
"groups" : [
"jira-software-users",
"jira-testers"
],
"key" : "jira-software",
"name" : "Jira Software",
"selectedByDefault" : true
},
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"defaultGroups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defined" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"hasUnlimitedSeats" : {
"type" : "boolean"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"numberOfSeats" : {
"type" : "integer"
},
"platform" : {
"type" : "boolean"
},
"remainingSeats" : {
"type" : "integer"
},
"selectedByDefault" : {
"type" : "boolean"
},
"userCount" : {
"type" : "integer"
},
"userCountDescription" : {
"type" : "string"
}
},
"title" : "Application Role",
"type" : "object"
},
"type" : "array"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"defaultGroups" : [
"jira-software-users"
],
"defined" : false,
"groups" : [
"jira-software-users",
"jira-testers"
],
"hasUnlimitedSeats" : false,
"key" : "jira-software",
"name" : "Jira Software",
"numberOfSeats" : 10,
"platform" : false,
"remainingSeats" : 5,
"selectedByDefault" : false,
"userCount" : 5,
"userCountDescription" : "5 developers"
},
{
"defaultGroups" : [
"jira-core-users"
],
"defined" : false,
"groups" : [
"jira-core-users"
],
"hasUnlimitedSeats" : false,
"key" : "jira-core",
"name" : "Jira Core",
"numberOfSeats" : 1,
"platform" : true,
"remainingSeats" : 1,
"selectedByDefault" : false,
"userCount" : 0,
"userCountDescription" : "0 users"
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"defaultGroups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defined" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"hasUnlimitedSeats" : {
"type" : "boolean"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"numberOfSeats" : {
"type" : "integer"
},
"platform" : {
"type" : "boolean"
},
"remainingSeats" : {
"type" : "integer"
},
"selectedByDefault" : {
"type" : "boolean"
},
"userCount" : {
"type" : "integer"
},
"userCountDescription" : {
"type" : "string"
}
},
"title" : "Application Role",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returns the updated ApplicationRole if the update was successful."
},
"401" : {
"description" : "Returned if the current user does not have permission to edit roles."
},
"403" : {
"description" : "Returned if the current user is not an administrator."
},
"404" : {
"description" : "Returned if the role does not exist."
},
"412" : {
"description" : "Returned if the If-Match header is not null and contains a different version to the server."
}
},
"tags" : [
]
}
},
"/api/2/applicationrole/{key}" : {
"get" : {
"description" : "Returns the ApplicationRole with passed key if it exists.",
"operationId" : "get",
"parameters" : [
{
"description" : "the key of the role to update.",
"in" : "path",
"name" : "key",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"defaultGroups" : [
"jira-software-users"
],
"defined" : false,
"groups" : [
"jira-software-users",
"jira-testers"
],
"hasUnlimitedSeats" : false,
"key" : "jira-software",
"name" : "Jira Software",
"numberOfSeats" : 10,
"platform" : false,
"remainingSeats" : 5,
"selectedByDefault" : false,
"userCount" : 5,
"userCountDescription" : "5 developers"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"defaultGroups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defined" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"hasUnlimitedSeats" : {
"type" : "boolean"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"numberOfSeats" : {
"type" : "integer"
},
"platform" : {
"type" : "boolean"
},
"remainingSeats" : {
"type" : "integer"
},
"selectedByDefault" : {
"type" : "boolean"
},
"userCount" : {
"type" : "integer"
},
"userCountDescription" : {
"type" : "string"
}
},
"title" : "Application Role",
"type" : "object"
}
}
},
"description" : "Returns the ApplicationRole if it exists."
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user is not an administrator."
},
"404" : {
"description" : "Returned if the role does not exist."
}
},
"tags" : [
]
},
"put" : {
"description" : "Updates the ApplicationRole with the passed data. Only the groups and default groups setting of the\n role may be updated. Requests to change the key or the name of the role will be silently ignored.\n <p>\n Optional: If versionHash is passed through the If-Match header the request will be rejected if not the\n same as server",
"operationId" : "put",
"parameters" : [
{
"description" : "the key of the role to update.",
"in" : "path",
"name" : "key",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the hash of the version to update. Optional Param",
"in" : "header",
"name" : "If-Match",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"defaultGroups" : [
"jira-software-users"
],
"groups" : [
"jira-software-users",
"jira-testers"
],
"key" : "jira-software",
"name" : "Jira Software",
"selectedByDefault" : true
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"defaultGroups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defined" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"hasUnlimitedSeats" : {
"type" : "boolean"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"numberOfSeats" : {
"type" : "integer"
},
"platform" : {
"type" : "boolean"
},
"remainingSeats" : {
"type" : "integer"
},
"selectedByDefault" : {
"type" : "boolean"
},
"userCount" : {
"type" : "integer"
},
"userCountDescription" : {
"type" : "string"
}
},
"title" : "Application Role",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"defaultGroups" : [
"jira-software-users"
],
"defined" : false,
"groups" : [
"jira-software-users",
"jira-testers"
],
"hasUnlimitedSeats" : false,
"key" : "jira-software",
"name" : "Jira Software",
"numberOfSeats" : 10,
"platform" : false,
"remainingSeats" : 5,
"selectedByDefault" : false,
"userCount" : 5,
"userCountDescription" : "5 developers"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"defaultGroups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"defined" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"hasUnlimitedSeats" : {
"type" : "boolean"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"numberOfSeats" : {
"type" : "integer"
},
"platform" : {
"type" : "boolean"
},
"remainingSeats" : {
"type" : "integer"
},
"selectedByDefault" : {
"type" : "boolean"
},
"userCount" : {
"type" : "integer"
},
"userCountDescription" : {
"type" : "string"
}
},
"title" : "Application Role",
"type" : "object"
}
}
},
"description" : "Returns the updated ApplicationRole if the update was successful."
},
"401" : {
"description" : "Returned if the current user does not have permission to edit roles."
},
"403" : {
"description" : "Returned if the current user is not an administrator."
},
"404" : {
"description" : "Returned if the role does not exist."
},
"412" : {
"description" : "Returned if the If-Match header is not null and contains a different version to the server."
}
},
"tags" : [
]
}
},
"/api/2/attachment/meta" : {
"get" : {
"description" : "Returns the meta information for an attachments, specifically if they are enabled and the maximum upload size\n allowed.",
"operationId" : "getAttachmentMeta",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"enabled" : true,
"uploadLimit" : 1000000
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"enabled" : {
"type" : "boolean"
},
"uploadLimit" : {
"type" : "integer"
}
},
"required" : [
"enabled"
],
"title" : "Attachment Meta",
"type" : "object"
}
}
},
"description" : "JSON representation of the attachment capabilities.\n Consumers of this resource may also need to check if the logged in user has permission to upload or\n otherwise manipulate attachments using the {@link com.atlassian.jira.rest.v2.permission.PermissionsResource}."
}
},
"tags" : [
]
}
},
"/api/2/attachment/{id}" : {
"delete" : {
"description" : "Remove an attachment from an issue.",
"operationId" : "removeAttachment",
"parameters" : [
{
"description" : "id of the attachment to remove",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Removal was successful"
},
"403" : {
"description" : "The calling user is not permitted to remove the requested attachment."
},
"404" : {
"description" : "Any of:\n <ul>\n <li>there is no attachment with the requested id</li>\n <li>attachments feature is disabled</li>\n </ul>"
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns the meta-data for an attachment, including the URI of the actual attached file.",
"operationId" : "getAttachment",
"parameters" : [
{
"description" : "id of the attachment to remove",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"author" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"content" : "http://www.example.com/jira/attachments/10000",
"created" : "2020-08-17T18:08:16.531+0000",
"filename" : "picture.jpg",
"mimeType" : "image/jpeg",
"self" : "http://www.example.com/jira/rest/api/2.0/attachments/10000",
"size" : 23123,
"thumbnail" : "http://www.example.com/jira/secure/thumbnail/10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"applicationRoles" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"deleted" : {
"type" : "boolean"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"groups" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"key" : {
"type" : "string"
},
"locale" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"content" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"filename" : {
"type" : "string"
},
"mimeType" : {
"type" : "string"
},
"properties" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"size" : {
"type" : "integer"
},
"thumbnail" : {
"type" : "string"
}
},
"required" : [
"size"
],
"title" : "Attachment",
"type" : "object"
}
}
},
"description" : "JSON representation of the attachment meta-data. The representation does not contain the attachment itself,\n but contains a URI that can be used to download the actual attached file."
},
"403" : {
"description" : "The calling user is not permitted to view the requested attachment."
},
"404" : {
"description" : "Any of:\n <ul>\n <li>there is no attachment with the requested id</li>\n <li>attachments feature is disabled</li>\n </ul>"
}
},
"tags" : [
]
}
},
"/api/2/attachment/{id}/expand/human" : {
"get" : {
"description" : "Tries to expand an attachment. Output is human-readable and subject to change.",
"operationId" : "expandForHumans",
"parameters" : [
{
"description" : "the id of the attachment to expand.",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"entries" : [
{
"index" : 0,
"label" : "MG00N067.JPG",
"mediaType" : "image/jpeg",
"path" : "MG00N067.JPG",
"size" : "119 kB"
},
{
"index" : 1,
"label" : "Allegro from Duet in C Major.mp3",
"mediaType" : "audio/mpeg",
"path" : "Allegro from Duet in C Major.mp3",
"size" : "1.36 MB"
},
{
"index" : 2,
"label" : "long/path/thanks/to/.../reach/the/leaf.txt",
"mediaType" : "text/plain",
"path" : "long/path/thanks/to/lots/of/subdirectories/inside/making/it/quite/hard/to/reach/the/leaf.txt",
"size" : "0.0 k"
}
],
"id" : 7237823,
"mediaType" : "application/zip",
"name" : "images.zip",
"totalEntryCount" : 39
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"entries" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"index" : {
"type" : "integer"
},
"label" : {
"type" : "string"
},
"mediaType" : {
"type" : "string"
},
"path" : {
"type" : "string"
},
"size" : {
"type" : "string"
}
},
"required" : [
"index"
],
"title" : "Human Readable Archive Entry",
"type" : "object"
},
"type" : "array"
},
"id" : {
"type" : "integer"
},
"mediaType" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"totalEntryCount" : {
"type" : "integer"
}
},
"required" : [
"id",
"totalEntryCount"
],
"title" : "Human Readable Archive",
"type" : "object"
}
}
},
"description" : "JSON representation of the attachment expanded contents. Empty entry list means that attachment cannot\n be expanded. It's either empty, corrupt or not an archive at all."
},
"403" : {
"description" : "The calling user is not permitted to view the requested attachment."
},
"404" : {
"description" : "Any of:\n <ul>\n <li>there is no attachment with the requested id</li>\n <li>attachments feature is disabled</li>\n </ul>"
},
"409" : {
"description" : "The archive format is not supported."
}
},
"tags" : [
]
}
},
"/api/2/attachment/{id}/expand/raw" : {
"get" : {
"description" : "Tries to expand an attachment. Output is raw and should be backwards-compatible through the course of time.",
"operationId" : "expandForMachines",
"parameters" : [
{
"description" : "the id of the attachment to expand.",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"entries" : [
{
"entryIndex" : 0,
"mediaType" : "audio/mpeg",
"name" : "Allegro from Duet in C Major.mp3",
"size" : 1430174
},
{
"entryIndex" : 1,
"mediaType" : "text/rtf",
"name" : "lrm.rtf",
"size" : 331
}
],
"totalEntryCount" : 24
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"entries" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"abbreviatedName" : {
"type" : "string"
},
"entryIndex" : {
"type" : "integer"
}
},
"required" : [
"entryIndex"
],
"title" : "Attachment Archive Entry",
"type" : "object"
},
"type" : "array"
},
"totalEntryCount" : {
"type" : "integer"
}
},
"required" : [
"totalEntryCount"
],
"title" : "Attachment Archive Impl",
"type" : "object"
}
}
},
"description" : "JSON representation of the attachment expanded contents. Empty entry list means that attachment cannot\n be expanded. It's either empty, corrupt or not an archive at all."
},
"403" : {
"description" : "The calling user is not permitted to view the requested attachment."
},
"404" : {
"description" : "Any of:\n <ul>\n <li>there is no attachment with the requested id</li>\n <li>attachments feature is disabled</li>\n </ul>"
},
"409" : {
"description" : "The archive format is not supported."
}
},
"tags" : [
]
}
},
"/api/2/auditing//record" : {
"get" : {
"description" : "Returns auditing records filtered using provided parameters",
"operationId" : "getRecords",
"parameters" : [
{
"description" : "- the number of record from which search starts",
"in" : "query",
"name" : "offset",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"description" : "- maximum number of returned results (if is limit is <= 0 or > 1000, it will be set do default value: 1000)",
"in" : "query",
"name" : "limit",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"description" : "- text query; each record that will be returned must contain the provided text in one of its fields",
"in" : "query",
"name" : "filter",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- timestamp in past; 'from' must be less or equal 'to', otherwise the result set will be empty\n only records that where created in the same moment or after the 'from' timestamp will be provided in response",
"in" : "query",
"name" : "from",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- timestamp in past; 'from' must be less or equal 'to', otherwise the result set will be empty\n only records that where created in the same moment or earlier than the 'to' timestamp will be provided in response",
"in" : "query",
"name" : "to",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- list of project ids to look for",
"in" : "query",
"name" : "projectIds",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "- list of user ids to look for",
"in" : "query",
"name" : "userIds",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"associatedItems" : [
{
"id" : "jira-software-users",
"name" : "jira-software-users",
"parentId" : "1",
"parentName" : "Jira Internal Directory",
"typeName" : "GROUP"
}
],
"authorKey" : "administrator",
"category" : "user management",
"changedValues" : [
{
"changedFrom" : "user@atlassian.com",
"changedTo" : "newuser@atlassian.com",
"fieldName" : "email"
}
],
"created" : "2014-03-19T18:45:42.967+0000",
"description" : "Optional description",
"eventSource" : "Jira Connect Plugin",
"id" : 1,
"objectItem" : {
"id" : "user",
"name" : "user",
"parentId" : "1",
"parentName" : "Jira Internal Directory",
"typeName" : "USER"
},
"remoteAddress" : "192.168.1.1",
"summary" : "User created"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"associatedItems" : {
"items" : {
"$ref" : "#/components/schemas/associated-item"
},
"type" : "array"
},
"authorKey" : {
"type" : "string"
},
"category" : {
"type" : "string"
},
"changedValues" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"changedFrom" : {
"type" : "string"
},
"changedTo" : {
"type" : "string"
},
"fieldName" : {
"type" : "string"
}
},
"title" : "Changed Value",
"type" : "object"
},
"type" : "array"
},
"created" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"eventSource" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"objectItem" : {
"$ref" : "#/components/schemas/associated-item"
},
"remoteAddress" : {
"type" : "string"
},
"summary" : {
"type" : "string"
}
},
"title" : "Audit Record",
"type" : "object"
}
}
},
"description" : "Returns a list auditing records filtered with request query parameters"
},
"400" : {
"description" : "In case of unhandled error while fetching auditing records"
},
"403" : {
"description" : "Returned if the user does not have admin permission"
}
},
"tags" : [
]
},
"post" : {
"description" : "Store a record in audit log",
"operationId" : "addRecord",
"parameters" : [
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"associatedItems" : [
{
"id" : "jira-software-users",
"name" : "jira-software-users",
"parentId" : "1",
"parentName" : "Jira Internal Directory",
"typeName" : "GROUP"
}
],
"category" : "USER_MANAGEMENT",
"changedValues" : [
{
"changedFrom" : "user@atlassian.com",
"changedTo" : "newuser@atlassian.com",
"fieldName" : "email"
}
],
"objectItem" : {
"id" : "usr",
"name" : "user",
"parentId" : "1",
"parentName" : "Jira Internal Directory",
"typeName" : "USER"
},
"summary" : "User created"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"associatedItems" : {
"items" : {
"$ref" : "#/components/schemas/associated-item"
},
"type" : "array"
},
"authorKey" : {
"type" : "string"
},
"category" : {
"type" : "string"
},
"changedValues" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"changedFrom" : {
"type" : "string"
},
"changedTo" : {
"type" : "string"
},
"fieldName" : {
"type" : "string"
}
},
"title" : "Changed Value",
"type" : "object"
},
"type" : "array"
},
"created" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"eventSource" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"objectItem" : {
"$ref" : "#/components/schemas/associated-item"
},
"remoteAddress" : {
"type" : "string"
},
"summary" : {
"type" : "string"
}
},
"title" : "Audit Record",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"description" : "Returned if the record is successfully stored."
},
"400" : {
"description" : "In case of unhandled error while fetching auditing records"
},
"403" : {
"description" : "Returned if the user does not have admin permission"
}
},
"tags" : [
]
}
},
"/api/2/avatar/{type}/system" : {
"get" : {
"description" : "Returns all system avatars of the given type.",
"operationId" : "getAllSystemAvatars",
"parameters" : [
{
"description" : "the avatar type",
"in" : "path",
"name" : "type",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"system" : [
{
"id" : "1000",
"isDeletable" : false,
"isSelected" : false,
"isSystemAvatar" : true,
"owner" : "fred",
"selected" : false,
"urls" : {
"16x16" : "http://localhost:8090/jira/secure/useravatar?size=xsmall&avatarId=10040",
"24x24" : "http://localhost:8090/jira/secure/useravatar?size=small&avatarId=10040",
"32x32" : "http://localhost:8090/jira/secure/useravatar?size=medium&avatarId=10040",
"48x48" : "http://localhost:8090/jira/secure/useravatar?avatarId=10040"
}
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"system" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"isDeletable" : {
"type" : "boolean"
},
"isSelected" : {
"type" : "boolean"
},
"isSystemAvatar" : {
"type" : "boolean"
},
"owner" : {
"type" : "string"
},
"selected" : {
"type" : "boolean"
},
"urls" : {
"patternProperties" : {
"\\d\\dx\\d\\d" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
}
},
"required" : [
"isSystemAvatar",
"isSelected",
"isDeletable",
"selected"
],
"title" : "Avatar",
"type" : "object"
},
"type" : "array"
}
},
"title" : "System Avatars",
"type" : "object"
}
}
},
"description" : "Returns a map containing a list of system avatars. A map is returned to be consistent with the shape of the\n project/KEY/avatars REST end point."
},
"500" : {
"description" : "Returned if an error occurs while retrieving the list of avatars."
}
},
"tags" : [
]
}
},
"/api/2/avatar/{type}/temporary" : {
"post" : {
"description" : "Creates temporary avatar",
"operationId" : "storeTemporaryAvatar",
"parameters" : [
{
"description" : "the avatar type",
"in" : "path",
"name" : "type",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "name of file being uploaded",
"in" : "query",
"name" : "filename",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "size of file",
"in" : "query",
"name" : "size",
"required" : false,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"201" : {
"content" : {
"application/json" : {
"example" : {
"cropperOffsetX" : 50,
"cropperOffsetY" : 50,
"cropperWidth" : 120,
"needsCropping" : true,
"url" : "http://example.com/jira/secure/temporaryavatar?cropped=true"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"cropperOffsetX" : {
"type" : "integer"
},
"cropperOffsetY" : {
"type" : "integer"
},
"cropperWidth" : {
"type" : "integer"
},
"needsCropping" : {
"type" : "boolean"
},
"url" : {
"type" : "string"
}
},
"required" : [
"cropperWidth",
"cropperOffsetX",
"cropperOffsetY",
"needsCropping"
],
"title" : "Avatar Cropping",
"type" : "object"
}
}
},
"description" : "temporary avatar cropping instructions"
},
"400" : {
"description" : "Valiation failed. For example filesize is beyond max attachment size."
},
"403" : {
"description" : "Returned if the request does not conain a valid XSRF token"
},
"500" : {
"description" : "Returned if an error occurs while converting temporary avatar to real avatar"
}
},
"tags" : [
]
}
},
"/api/2/avatar/{type}/temporaryCrop" : {
"post" : {
"description" : "Updates the cropping instructions of the temporary avatar.",
"operationId" : "createAvatarFromTemporary",
"parameters" : [
{
"description" : "the avatar type",
"in" : "path",
"name" : "type",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"cropperOffsetX" : 50,
"cropperOffsetY" : 50,
"cropperWidth" : 120,
"needsCropping" : false
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"cropperOffsetX" : {
"type" : "integer"
},
"cropperOffsetY" : {
"type" : "integer"
},
"cropperWidth" : {
"type" : "integer"
},
"needsCropping" : {
"type" : "boolean"
},
"url" : {
"type" : "string"
}
},
"required" : [
"cropperWidth",
"cropperOffsetX",
"cropperOffsetY",
"needsCropping"
],
"title" : "Avatar Cropping",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"description" : ""
},
"400" : {
"description" : "Returned if the cropping coordinates are invalid"
},
"500" : {
"description" : "Returned if an error occurs while cropping the temporary avatar"
}
},
"tags" : [
]
}
},
"/api/2/cluster//nodes" : {
"get" : {
"description" : "",
"operationId" : "getAllNodes",
"parameters" : [
],
"responses" : {
"401" : {
"description" : "if the user doesn't have admin permissions"
},
"405" : {
"description" : "if you call this method, but don't have Jira Data Center"
}
},
"tags" : [
]
}
},
"/api/2/cluster/node/{nodeId}" : {
"delete" : {
"description" : "Delete the node from the cluster if state of node is OFFLINE.",
"operationId" : "deleteNode",
"parameters" : [
{
"in" : "path",
"name" : "nodeId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"400" : {
"description" : "if node's state is not offline"
},
"401" : {
"description" : "if the user doesn't have admin permissions"
},
"404" : {
"description" : "if the node with this nodeID doesn't exist"
},
"405" : {
"description" : "if you call this method, but don't have Jira Data Center"
},
"500" : {
"description" : "if the server can't delete the nod"
}
},
"tags" : [
]
}
},
"/api/2/cluster/node/{nodeId}/offline" : {
"put" : {
"description" : "Change the node's state to offline if the node is reporting as active, but is not alive.\n Don't use this method as an equivalent of running ./stop-jira.sh. This method doesn't shut down\n a node, but only changes its state, so that other nodes don't communicate with it.",
"operationId" : "changeNodeStateToOffline",
"parameters" : [
{
"in" : "path",
"name" : "nodeId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"400" : {
"description" : "if the node is active and alive, no need to use this method"
},
"401" : {
"description" : "if the user doesn't have admin permissions"
},
"404" : {
"description" : "if the node with this nodeID doesn't exist"
},
"405" : {
"description" : "if you call this method, but don't have Jira Data Center"
},
"500" : {
"description" : "if the server can't change the node's state"
}
},
"tags" : [
]
}
},
"/api/2/cluster/zdu/approve" : {
"post" : {
"description" : "",
"operationId" : "approveUpgrade",
"parameters" : [
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/cluster/zdu/cancel" : {
"post" : {
"description" : "",
"operationId" : "cancelUpgrade",
"parameters" : [
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/cluster/zdu/retryUpgrade" : {
"post" : {
"description" : "",
"operationId" : "acknowledgeErrors",
"parameters" : [
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/cluster/zdu/start" : {
"post" : {
"description" : "",
"operationId" : "setReadyToUpgrade",
"parameters" : [
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/cluster/zdu/state" : {
"get" : {
"description" : "",
"operationId" : "getState",
"parameters" : [
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/comment/{commentId}/properties" : {
"get" : {
"description" : "Returns the keys of all properties for the comment identified by the key or by the id.",
"operationId" : "getPropertiesKeys",
"parameters" : [
{
"description" : "the comment from which keys will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"keys" : [
{
"key" : "issue.support",
"self" : "http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support"
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"keys" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Entity Property Key",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Entity Properties Keys",
"type" : "object"
}
}
},
"description" : "Returned if the comment was found."
},
"400" : {
"description" : "Returned if the comment key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to browse the comment."
},
"404" : {
"description" : "Returned if the comment with given key or id does not exist or if the property with given key is not found."
}
},
"tags" : [
]
}
},
"/api/2/comment/{commentId}/properties//{propertyKey}" : {
"delete" : {
"description" : "Removes the property from the comment identified by the key or by the id. Ths user removing the property is required\n to have permissions to administer the comment.",
"operationId" : "deleteProperty",
"parameters" : [
{
"description" : "the comment from which keys will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the comment from which the property will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the comment property was removed successfully."
},
"400" : {
"description" : "Returned if the comment key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to edit the comment."
},
"404" : {
"description" : "Returned if the comment with given key or id does not exist or if the property with given key is not found."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns the value of the property with a given key from the comment identified by the key or by the id. The user who retrieves\n the property is required to have permissions to read the comment.",
"operationId" : "getProperty",
"parameters" : [
{
"description" : "the comment from which keys will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the comment from which the property will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"key" : "issue.support",
"value" : {
"hipchat.room.id" : "support-123",
"support.time" : "1m"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
}
}
},
"description" : "Returned if the comment property was found."
},
"400" : {
"description" : "Returned if the comment key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to browse the comment."
},
"404" : {
"description" : "Returned if the comment with given key or id does not exist or if the property with given key is not found."
}
},
"tags" : [
]
},
"put" : {
"description" : "Sets the value of the specified comment's property.\n <p>\n You can use this resource to store a custom data against the comment identified by the key or by the id. The user\n who stores the data is required to have permissions to administer the comment.\n </p>",
"operationId" : "setProperty",
"parameters" : [
{
"description" : "the comment from which keys will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the comment from which the property will be returned.",
"in" : "path",
"name" : "commentId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"description" : "Returned if the comment property is successfully updated."
},
"201" : {
"description" : "Returned if the comment property is successfully created."
},
"400" : {
"description" : "Returned if the comment key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to administer the comment."
},
"404" : {
"description" : "Returned if the comment with given key or id does not exist."
}
},
"tags" : [
]
}
},
"/api/2/component" : {
"post" : {
"description" : "Create a component via POST.",
"operationId" : "createComponent",
"parameters" : [
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"assigneeType" : "PROJECT_LEAD",
"description" : "This is a Jira component",
"isAssigneeTypeValid" : false,
"leadUserName" : "fred",
"name" : "Component 1",
"project" : "PROJECTKEY",
"projectId" : 10000
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"application/json" : {
"example" : {
"assignee" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"assigneeType" : "PROJECT_LEAD",
"description" : "This is a Jira component",
"id" : "10000",
"isAssigneeTypeValid" : false,
"lead" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"name" : "Component 1",
"project" : "HSP",
"projectId" : 10000,
"realAssignee" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"realAssigneeType" : "PROJECT_LEAD",
"self" : "http://www.example.com/jira/rest/api/2/component/10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
}
}
},
"description" : "Returned if the component is created successfully."
},
"401" : {
"description" : "Returned if the caller is not logged in and does not have permission to create components in\n the project."
},
"403" : {
"description" : "Returned if the caller is authenticated and does not have permission to create components in the project."
},
"404" : {
"description" : "Returned if the project does not exist or the currently authenticated user does not have permission to\n view it."
}
},
"tags" : [
]
}
},
"/api/2/component/{id}" : {
"delete" : {
"description" : "Delete a project component.",
"operationId" : "delete",
"parameters" : [
{
"description" : "The component to delete.",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "The new component applied to issues whose 'id' component will be deleted.\n If this value is null, then the 'id' component is simply removed from the related isues.",
"in" : "query",
"name" : "moveIssuesTo",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the component is successfully deleted."
},
"403" : {
"description" : "Returned if the currently authenticated user does not have permission to delete the component."
},
"404" : {
"description" : "Returned if the component does not exist or the currently authenticated user does not have permission to\n view it."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns a project component.",
"operationId" : "getComponent",
"parameters" : [
{
"description" : "The component to delete.",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"assignee" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"assigneeType" : "PROJECT_LEAD",
"description" : "This is a Jira component",
"id" : "10000",
"isAssigneeTypeValid" : false,
"lead" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"name" : "Component 1",
"project" : "HSP",
"projectId" : 10000,
"realAssignee" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"realAssigneeType" : "PROJECT_LEAD",
"self" : "http://www.example.com/jira/rest/api/2/component/10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
}
}
},
"description" : "Returns a full JSON representation of a project component."
},
"404" : {
"description" : "Returned if there is no component with the given key, or if the calling user does not have permission to\n view the component."
}
},
"tags" : [
]
},
"put" : {
"description" : "Modify a component via PUT. Any fields present in the PUT will override existing values. As a convenience, if a field\n is not present, it is silently ignored.\n <p>\n If leadUserName is an empty string (\"\") the component lead will be removed.",
"operationId" : "updateComponent",
"parameters" : [
{
"description" : "The component to delete.",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"assigneeType" : "PROJECT_LEAD",
"description" : "This is a Jira component",
"isAssigneeTypeValid" : false,
"leadUserName" : "fred",
"name" : "Component 1",
"project" : "PROJECTKEY",
"projectId" : 10000
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
}
}
},
"description" : "Returned if the component exists and the currently authenticated user has permission to edit it."
},
"403" : {
"description" : "Returned if the currently authenticated user does not have permission to edit the component."
},
"404" : {
"description" : "Returned if the component does not exist or the currently authenticated user does not have permission to\n view it."
}
},
"tags" : [
]
}
},
"/api/2/component/{id}/relatedIssueCounts" : {
"get" : {
"description" : "Returns counts of issues related to this component.",
"operationId" : "getComponentRelatedIssues",
"parameters" : [
{
"description" : "a String containing the component id",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"issueCount" : 23,
"self" : "http://www.example.com/jira/rest/api/2/component/10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"issueCount" : {
"type" : "integer"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"issueCount"
],
"title" : "Component Issue Counts",
"type" : "object"
}
}
},
"description" : "Returned if the component exists and the currently authenticated user has permission to view it. Contains\n counts of issues related to this component."
},
"404" : {
"description" : "Returned if the component does not exist or the currently authenticated user does not have permission to\n view it."
}
},
"tags" : [
]
}
},
"/api/2/configuration" : {
"get" : {
"description" : "Returns the information if the optional features in Jira are enabled or disabled. If the time tracking is enabled,\n it also returns the detailed information about time tracking configuration.",
"operationId" : "getConfiguration",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"attachmentsEnabled" : true,
"issueLinkingEnabled" : true,
"subTasksEnabled" : false,
"timeTrackingConfiguration" : {
"defaultUnit" : "day",
"timeFormat" : "pretty",
"workingDaysPerWeek" : 5.0,
"workingHoursPerDay" : 8.0
},
"timeTrackingEnabled" : true,
"unassignedIssuesAllowed" : false,
"votingEnabled" : true,
"watchingEnabled" : true
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"attachmentsEnabled" : {
"type" : "boolean"
},
"issueLinkingEnabled" : {
"type" : "boolean"
},
"subTasksEnabled" : {
"type" : "boolean"
},
"timeTrackingConfiguration" : {
"additionalProperties" : false,
"properties" : {
"defaultUnit" : {
"enum" : [
"minute",
"hour",
"day",
"week"
],
"type" : "string"
},
"timeFormat" : {
"enum" : [
"pretty",
"days",
"hours"
],
"type" : "string"
},
"workingDaysPerWeek" : {
"type" : "number"
},
"workingHoursPerDay" : {
"type" : "number"
}
},
"required" : [
"workingHoursPerDay",
"workingDaysPerWeek"
],
"title" : "Time Tracking Configuration",
"type" : "object"
},
"timeTrackingEnabled" : {
"type" : "boolean"
},
"unassignedIssuesAllowed" : {
"type" : "boolean"
},
"votingEnabled" : {
"type" : "boolean"
},
"watchingEnabled" : {
"type" : "boolean"
}
},
"required" : [
"votingEnabled",
"watchingEnabled",
"unassignedIssuesAllowed",
"subTasksEnabled",
"issueLinkingEnabled",
"timeTrackingEnabled",
"attachmentsEnabled"
],
"title" : "Configuration",
"type" : "object"
}
}
},
"description" : "Returned the configuration of optional features in Jira."
},
"401" : {
"description" : "Returned if the user is not logged in."
}
},
"tags" : [
]
}
},
"/api/2/customFieldOption/{id}" : {
"get" : {
"description" : "Returns a full representation of the Custom Field Option that has the given id.",
"operationId" : "getCustomFieldOption",
"parameters" : [
{
"description" : "a String containing an Custom Field Option id",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"self" : "http://localhost:8090/jira/rest/api/2.0/customFieldOption/3",
"value" : "Blue"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"self" : {
"format" : "uri",
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Custom Field Option",
"type" : "object"
}
}
},
"description" : "Returned if the Custom Field Option exists and is visible by the calling user."
},
"404" : {
"description" : "Returned if the Custom Field Option does not exist, or is not visible to the calling user."
}
},
"tags" : [
]
}
},
"/api/2/customFields" : {
"get" : {
"description" : "",
"operationId" : "getCustomFields",
"parameters" : [
{
"in" : "query",
"name" : "startAt",
"required" : false,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"in" : "query",
"name" : "search",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "projectIds",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "screenIds",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "types",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Custom field for picking groups",
"id" : "customfield_10000",
"name" : "New custom field",
"searcherKey" : "com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher",
"type" : "com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"isLast" : {
"type" : "boolean"
},
"maxResults" : {
"type" : "integer"
},
"nextPage" : {
"format" : "uri",
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"startAt" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
},
"values" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAllProjects" : {
"type" : "boolean"
},
"isLocked" : {
"type" : "boolean"
},
"isManaged" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"numericId" : {
"type" : "integer"
},
"projectsCount" : {
"type" : "integer"
},
"screensCount" : {
"type" : "integer"
},
"searcherKey" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"required" : [
"isLocked",
"isManaged",
"isAllProjects",
"projectsCount",
"screensCount"
],
"title" : "Custom Field",
"type" : "object"
},
"type" : "array"
}
},
"required" : [
"maxResults",
"startAt"
],
"title" : "Page of Custom Field",
"type" : "object"
}
}
},
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/dashboard" : {
"get" : {
"description" : "Returns a list of all dashboards, optionally filtering them.",
"operationId" : "list",
"parameters" : [
{
"description" : "an optional filter that is applied to the list of dashboards. Valid values include\n <code>\"favourite\"</code> for returning only favourite dashboards, and <code>\"my\"</code> for returning\n dashboards that are owned by the calling user.",
"in" : "query",
"name" : "filter",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "the index of the first dashboard to return (0-based). must be 0 or a multiple of\n <code>maxResults</code>",
"in" : "query",
"name" : "startAt",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"description" : "a hint as to the maximum number of dashboards to return in each call. Note that the\n Jira server reserves the right to impose a <code>maxResults</code> limit that is lower than the value that a\n client provides, dues to lack of resources or any other condition. When this happens, your results will be\n truncated. Callers should always check the returned <code>maxResults</code> to determine the value that is\n effectively being used.",
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"content" : {
"" : {
"example" : {
"dashboards" : [
{
"id" : "10000",
"name" : "System Dashboard",
"self" : "http://www.example.com/jira/rest/api/2/dashboard/10000",
"view" : "http://www.example.com/jira/secure/Dashboard.jspa?selectPageId=10000"
},
{
"id" : "20000",
"name" : "Build Engineering",
"self" : "http://www.example.com/jira/rest/api/2/dashboard/20000",
"view" : "http://www.example.com/jira/secure/Dashboard.jspa?selectPageId=20000"
}
],
"maxResults" : 10,
"next" : "http://www.example.com/jira/rest/api/2/dashboard?startAt=10",
"prev" : "http://www.example.com/jira/rest/api/2/dashboard?startAt=0",
"startAt" : 10,
"total" : 143
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"dashboards" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"view" : {
"type" : "string"
}
},
"title" : "Dashboard",
"type" : "object"
},
"type" : "array"
},
"maxResults" : {
"type" : "integer"
},
"next" : {
"type" : "string"
},
"prev" : {
"type" : "string"
},
"startAt" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Dashboards",
"type" : "object"
}
}
},
"description" : "Returns a list of dashboards."
}
},
"tags" : [
]
}
},
"/api/2/dashboard/{dashboardId}/items/{itemId}/properties" : {
"get" : {
"description" : "Returns the keys of all properties for the dashboard item identified by the id.",
"operationId" : "getPropertiesKeys",
"parameters" : [
{
"description" : "the dashboard item from which keys will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"keys" : [
{
"key" : "issue.support",
"self" : "http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support"
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"keys" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Entity Property Key",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Entity Properties Keys",
"type" : "object"
}
}
},
"description" : "Returned if the dashboard item was found."
},
"400" : {
"description" : "Returned if the dashboard item id is invalid."
},
"404" : {
"description" : "Returned if the dashboard item with given id does not exist or user does not have permissions to view it."
}
},
"tags" : [
]
}
},
"/api/2/dashboard/{dashboardId}/items/{itemId}/properties//{propertyKey}" : {
"delete" : {
"description" : "Removes the property from the dashboard item identified by the key or by the id. Ths user removing the property is required\n to have permissions to administer the dashboard item.",
"operationId" : "deleteProperty",
"parameters" : [
{
"description" : "the dashboard item from which keys will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the dashboard item from which the property will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the dashboard item property was removed successfully."
},
"400" : {
"description" : "Returned if the dashboard item id is invalid."
},
"403" : {
"description" : "Returned if the calling user does not have permission to edit the dashboard item."
},
"404" : {
"description" : "Returned if the dashboard item with given id does not exist or user does not have permissions to view it."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns the value of the property with a given key from the dashboard item identified by the id.\n The user who retrieves the property is required to have permissions to read the dashboard item.",
"operationId" : "getProperty",
"parameters" : [
{
"description" : "the dashboard item from which keys will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the dashboard item from which the property will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"key" : "issue.support",
"value" : {
"hipchat.room.id" : "support-123",
"support.time" : "1m"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
}
}
},
"description" : "Returned if the dashboard item property was found."
},
"400" : {
"description" : "Returned if the dashboard item id is invalid."
},
"404" : {
"description" : "Returned if the dashboard item with given id does not exist or user does not have permissions to view it."
}
},
"tags" : [
]
},
"put" : {
"description" : "Sets the value of the specified dashboard item's property.\n <p>\n You can use this resource to store a custom data against the dashboard item identified by the id.\n The user who stores the data is required to have permissions to administer the dashboard item.\n </p>",
"operationId" : "setProperty",
"parameters" : [
{
"description" : "the dashboard item from which keys will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the dashboard item from which the property will be returned.",
"in" : "path",
"name" : "itemId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "dashboardId",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"description" : "Returned if the dashboard item property is successfully updated."
},
"201" : {
"description" : "Returned if the dashboard item property is successfully created."
},
"400" : {
"description" : "Returned if the dashboard item id is invalid."
},
"403" : {
"description" : "Returned if the calling user does not have permission to administer the dashboard item."
},
"404" : {
"description" : "Returned if the dashboard item with given id does not exist or user does not have permissions to view it."
}
},
"tags" : [
]
}
},
"/api/2/dashboard/{id}" : {
"get" : {
"description" : "Returns a single dashboard.",
"operationId" : "getDashboard",
"parameters" : [
{
"description" : "the dashboard id",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"" : {
"example" : {
"id" : "10000",
"name" : "System Dashboard",
"self" : "http://www.example.com/jira/rest/api/2/dashboard/10000",
"view" : "http://www.example.com/jira/secure/Dashboard.jspa?selectPageId=10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"view" : {
"type" : "string"
}
},
"title" : "Dashboard",
"type" : "object"
}
}
},
"description" : "Returns a single dashboard."
},
"404" : {
"description" : "Returned if there is no dashboard with the specified id, or if the user does not have permission to see it."
}
},
"tags" : [
]
}
},
"/api/2/field" : {
"get" : {
"description" : "Returns a list of all fields, both System and Custom",
"operationId" : "getFields",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"clauseNames" : [
"description"
],
"custom" : false,
"id" : "description",
"name" : "Description",
"navigable" : true,
"orderable" : true,
"schema" : {
"system" : "description",
"type" : "string"
},
"searchable" : true
},
{
"clauseNames" : [
"summary"
],
"custom" : false,
"id" : "summary",
"name" : "Summary",
"navigable" : true,
"orderable" : true,
"schema" : {
"system" : "summary",
"type" : "string"
},
"searchable" : true
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"clauseNames" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"custom" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"navigable" : {
"type" : "boolean"
},
"orderable" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
},
"searchable" : {
"type" : "boolean"
}
},
"title" : "Field",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Contains a full representation of all visible fields in JSON."
}
},
"tags" : [
]
},
"post" : {
"description" : "Creates a custom field using a definition (object encapsulating custom field data)",
"operationId" : "createCustomField",
"parameters" : [
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Custom field for picking groups",
"id" : "customfield_10000",
"name" : "New custom field",
"searcherKey" : "com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher",
"type" : "com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"searcherKey" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Custom Field Definition",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"" : {
"example" : {
"clauseNames" : [
"cf[10101]",
"New custom field"
],
"custom" : true,
"id" : "customfield_10101",
"name" : "New custom field",
"navigable" : true,
"orderable" : true,
"schema" : {
"custom" : "com.atlassian.jira.plugin.system.customfieldtypes:project",
"customId" : 10101,
"type" : "project"
},
"searchable" : true
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"clauseNames" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"custom" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"navigable" : {
"type" : "boolean"
},
"orderable" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
},
"searchable" : {
"type" : "boolean"
}
},
"title" : "Field",
"type" : "object"
}
}
},
"description" : "Returned if custom field was created."
},
"400" : {
"description" : "Returned if the input is invalid (e.g. invalid values)."
},
"500" : {
"description" : "Returned if exception occured during custom field creation."
}
},
"tags" : [
]
}
},
"/api/2/filter" : {
"post" : {
"description" : "Creates a new filter, and returns newly created filter.\n Currently sets permissions just using the users default sharing permissions",
"operationId" : "createFilter",
"parameters" : [
{
"description" : "the parameters to expand",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Lists all open bugs",
"editable" : false,
"favourite" : true,
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"editable" : {
"type" : "boolean"
},
"favourite" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"jql" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"owner" : {
"$ref" : "#/components/schemas/user"
},
"searchUrl" : {
"format" : "uri",
"type" : "string"
},
"sharePermissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
},
"sharedUsers" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"$ref" : "#/components/schemas/user"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "User Bean List Wrapper",
"type" : "object"
},
"subscriptions" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"user" : {
"$ref" : "#/components/schemas/user"
}
},
"title" : "Filter Subscription",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Filter Subscription Bean List Wrapper",
"type" : "object"
},
"viewUrl" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"favourite",
"editable"
],
"title" : "Filter",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Lists all open bugs",
"editable" : false,
"favourite" : true,
"id" : "10000",
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs",
"owner" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"searchUrl" : "http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty",
"self" : "http://www.example.com/jira/rest/api/2/filter/10000",
"sharePermissions" : [
],
"subscriptions" : {
"end-index" : 0,
"items" : [
],
"max-results" : 1000,
"size" : 0,
"start-index" : 0
},
"viewUrl" : "http://www.example.com/jira/issues/?filter=10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"editable" : {
"type" : "boolean"
},
"favourite" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"jql" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"owner" : {
"$ref" : "#/components/schemas/user"
},
"searchUrl" : {
"format" : "uri",
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"sharePermissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
},
"sharedUsers" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"$ref" : "#/components/schemas/user"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "User Bean List Wrapper",
"type" : "object"
},
"subscriptions" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"user" : {
"$ref" : "#/components/schemas/user"
}
},
"title" : "Filter Subscription",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Filter Subscription Bean List Wrapper",
"type" : "object"
},
"viewUrl" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"favourite",
"editable"
],
"title" : "Filter",
"type" : "object"
}
}
},
"description" : "Returns a JSON representation of a filter"
},
"400" : {
"description" : "Returned if the input is invalid (e.g. filter name was not provided)."
}
},
"tags" : [
]
}
},
"/api/2/filter/defaultShareScope" : {
"get" : {
"description" : "Returns the default share scope of the logged-in user.",
"operationId" : "getDefaultShareScope",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"scope" : "AUTHENTICATED"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"scope" : {
"enum" : [
"GLOBAL",
"AUTHENTICATED",
"PRIVATE"
],
"type" : "string"
}
},
"title" : "Default Share Scope",
"type" : "object"
}
}
},
"description" : "Returns the default share scope of the logged-in user."
},
"400" : {
"description" : "Returned if there is a problem looking up preferences for the logged-in user"
}
},
"tags" : [
]
},
"put" : {
"description" : "Sets the default share scope of the logged-in user.\n <p>\n Available values are: AUTHENTICATED (for sharing with all logged-in users) and PRIVATE (for no shares).",
"operationId" : "setDefaultShareScope",
"parameters" : [
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"scope" : "AUTHENTICATED"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"scope" : {
"enum" : [
"GLOBAL",
"AUTHENTICATED",
"PRIVATE"
],
"type" : "string"
}
},
"title" : "Default Share Scope",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"scope" : "AUTHENTICATED"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"scope" : {
"enum" : [
"GLOBAL",
"AUTHENTICATED",
"PRIVATE"
],
"type" : "string"
}
},
"title" : "Default Share Scope",
"type" : "object"
}
}
},
"description" : "Returns the new default share scope of the logged-in user."
},
"400" : {
"description" : "Returned if there is a problem setting the preferences for the logged-in user"
}
},
"tags" : [
]
}
},
"/api/2/filter/favourite" : {
"get" : {
"description" : "Returns the favourite filters of the logged-in user.",
"operationId" : "getFavouriteFilters",
"parameters" : [
{
"description" : "the parameters to expand",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"description" : "Lists all open bugs",
"editable" : false,
"favourite" : true,
"id" : "10000",
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs",
"owner" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"searchUrl" : "http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty",
"self" : "http://www.example.com/jira/rest/api/2/filter/10000",
"sharePermissions" : [
],
"subscriptions" : {
"end-index" : 0,
"items" : [
],
"max-results" : 1000,
"size" : 0,
"start-index" : 0
},
"viewUrl" : "http://www.example.com/jira/issues/?filter=10000"
},
{
"description" : "Issues assigned to me",
"editable" : false,
"favourite" : true,
"id" : "10010",
"jql" : "assignee = currentUser() and resolution is empty",
"name" : "My issues",
"owner" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"searchUrl" : "http://www.example.com/jira/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty",
"self" : "http://www.example.com/jira/rest/api/2/filter/10010",
"sharePermissions" : [
{
"edit" : false,
"id" : 10000,
"type" : "global",
"view" : true
},
{
"edit" : false,
"id" : 10010,
"project" : {
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10000",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000",
"48x48" : "http://www.example.com/jira/secure/projectavatar?size=large&pid=10000"
},
"id" : "10000",
"key" : "EX",
"name" : "Example",
"projectCategory" : {
"description" : "First Project Category",
"id" : "10000",
"name" : "FIRST",
"self" : "http://www.example.com/jira/rest/api/2/projectCategory/10000"
},
"self" : "http://www.example.com/jira/rest/api/2/project/EX"
},
"type" : "project",
"view" : true
}
],
"subscriptions" : {
"end-index" : 0,
"items" : [
],
"max-results" : 1000,
"size" : 0,
"start-index" : 0
},
"viewUrl" : "http://www.example.com/jira/issues/?filter=10010"
},
{
"description" : "Lists all open bugs",
"editable" : true,
"favourite" : true,
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs",
"sharePermissions" : [
]
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"editable" : {
"type" : "boolean"
},
"favourite" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"jql" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"owner" : {
"$ref" : "#/components/schemas/user"
},
"searchUrl" : {
"format" : "uri",
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"sharePermissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
},
"sharedUsers" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"$ref" : "#/components/schemas/user"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "User Bean List Wrapper",
"type" : "object"
},
"subscriptions" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"user" : {
"$ref" : "#/components/schemas/user"
}
},
"title" : "Filter Subscription",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Filter Subscription Bean List Wrapper",
"type" : "object"
},
"viewUrl" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"favourite",
"editable"
],
"title" : "Filter",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returns a JSON representation of a list of filters"
}
},
"tags" : [
]
}
},
"/api/2/filter/{id}" : {
"delete" : {
"description" : "Delete a filter.",
"operationId" : "deleteFilter",
"parameters" : [
{
"description" : "the id of the filter being looked up",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the filter was removed successfully."
},
"400" : {
"description" : "Returned if an error occurs."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns a filter given an id",
"operationId" : "getFilter",
"parameters" : [
{
"description" : "the id of the filter being looked up",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"description" : "the parameters to expand",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Lists all open bugs",
"editable" : false,
"favourite" : true,
"id" : "10000",
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs",
"owner" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"searchUrl" : "http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty",
"self" : "http://www.example.com/jira/rest/api/2/filter/10000",
"sharePermissions" : [
],
"subscriptions" : {
"end-index" : 0,
"items" : [
],
"max-results" : 1000,
"size" : 0,
"start-index" : 0
},
"viewUrl" : "http://www.example.com/jira/issues/?filter=10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"editable" : {
"type" : "boolean"
},
"favourite" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"jql" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"owner" : {
"$ref" : "#/components/schemas/user"
},
"searchUrl" : {
"format" : "uri",
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"sharePermissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
},
"sharedUsers" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"$ref" : "#/components/schemas/user"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "User Bean List Wrapper",
"type" : "object"
},
"subscriptions" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"user" : {
"$ref" : "#/components/schemas/user"
}
},
"title" : "Filter Subscription",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Filter Subscription Bean List Wrapper",
"type" : "object"
},
"viewUrl" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"favourite",
"editable"
],
"title" : "Filter",
"type" : "object"
}
}
},
"description" : "Returns a JSON representation of a filter"
},
"400" : {
"description" : "Returned if there is a problem looking up the filter given the id"
}
},
"tags" : [
]
},
"put" : {
"description" : "Updates an existing filter, and returns its new value.",
"operationId" : "editFilter",
"parameters" : [
{
"description" : "the id of the filter being looked up",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"description" : "the parameters to expand",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Lists all open bugs",
"editable" : false,
"favourite" : true,
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"editable" : {
"type" : "boolean"
},
"favourite" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"jql" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"owner" : {
"$ref" : "#/components/schemas/user"
},
"searchUrl" : {
"format" : "uri",
"type" : "string"
},
"sharePermissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
},
"sharedUsers" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"$ref" : "#/components/schemas/user"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "User Bean List Wrapper",
"type" : "object"
},
"subscriptions" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"user" : {
"$ref" : "#/components/schemas/user"
}
},
"title" : "Filter Subscription",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Filter Subscription Bean List Wrapper",
"type" : "object"
},
"viewUrl" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"favourite",
"editable"
],
"title" : "Filter",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"description" : "Lists all open bugs",
"editable" : false,
"favourite" : true,
"id" : "10000",
"jql" : "type = Bug and resolution is empty",
"name" : "All Open Bugs",
"owner" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"searchUrl" : "http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty",
"self" : "http://www.example.com/jira/rest/api/2/filter/10000",
"sharePermissions" : [
],
"subscriptions" : {
"end-index" : 0,
"items" : [
],
"max-results" : 1000,
"size" : 0,
"start-index" : 0
},
"viewUrl" : "http://www.example.com/jira/issues/?filter=10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"editable" : {
"type" : "boolean"
},
"favourite" : {
"type" : "boolean"
},
"id" : {
"type" : "string"
},
"jql" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"owner" : {
"$ref" : "#/components/schemas/user"
},
"searchUrl" : {
"format" : "uri",
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"sharePermissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
},
"sharedUsers" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"$ref" : "#/components/schemas/user"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "User Bean List Wrapper",
"type" : "object"
},
"subscriptions" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"user" : {
"$ref" : "#/components/schemas/user"
}
},
"title" : "Filter Subscription",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Filter Subscription Bean List Wrapper",
"type" : "object"
},
"viewUrl" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"favourite",
"editable"
],
"title" : "Filter",
"type" : "object"
}
}
},
"description" : "Returns a JSON representation of a filter"
},
"400" : {
"description" : "Returned if there is a problem updating up the filter of the given id"
}
},
"tags" : [
]
}
},
"/api/2/filter/{id}/columns" : {
"delete" : {
"description" : "Resets the columns for the given filter such that the filter no longer has its own column config.",
"operationId" : "resetColumns",
"parameters" : [
{
"description" : "id of the filter",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"204" : {
"description" : "Returned when the columns are reset/removed successfully"
},
"500" : {
"description" : "Returned if an error occurs while retrieving the column configuration."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns the default columns for the given filter. Currently logged in user will be used as\n the user making such request.",
"operationId" : "defaultColumns",
"parameters" : [
{
"description" : "id of the filter",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"label" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Column Item",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returns a list of columns for configured for the given user"
},
"404" : {
"description" : "Returned if the filter does not have any columns."
},
"500" : {
"description" : "Returned if an error occurs while retrieving the column configuration."
}
},
"tags" : [
]
},
"put" : {
"description" : "Sets the default columns for the given filter.",
"operationId" : "setColumns",
"parameters" : [
{
"description" : "id of the filter",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"description" : "Returned when the columns are saved successfully"
},
"500" : {
"description" : "Returned if an error occurs while retrieving the column configuration."
}
},
"tags" : [
]
}
},
"/api/2/filter/{id}/permission" : {
"get" : {
"description" : "Returns all share permissions of the given filter.",
"operationId" : "getSharePermissions",
"parameters" : [
{
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"edit" : false,
"id" : 10000,
"type" : "global",
"view" : true
},
{
"edit" : false,
"id" : 10010,
"project" : {
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10000",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000",
"48x48" : "http://www.example.com/jira/secure/projectavatar?size=large&pid=10000"
},
"id" : "10000",
"key" : "EX",
"name" : "Example",
"projectCategory" : {
"description" : "First Project Category",
"id" : "10000",
"name" : "FIRST",
"self" : "http://www.example.com/jira/rest/api/2/projectCategory/10000"
},
"self" : "http://www.example.com/jira/rest/api/2/project/EX"
},
"type" : "project",
"view" : true
},
{
"edit" : false,
"id" : 10010,
"project" : {
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10002",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10002",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10002",
"48x48" : "http://www.example.com/jira/secure/projectavatar?size=large&pid=10002"
},
"id" : "10002",
"key" : "MKY",
"name" : "Example",
"projectCategory" : {
"description" : "First Project Category",
"id" : "10000",
"name" : "FIRST",
"self" : "http://www.example.com/jira/rest/api/2/projectCategory/10000"
},
"self" : "http://www.example.com/jira/rest/api/2/project/MKY"
},
"role" : {
"actors" : [
{
"displayName" : "jira-developers",
"id" : 10240,
"name" : "jira-developers",
"type" : "atlassian-group-role-actor"
}
],
"description" : "A project role that represents developers in a project",
"id" : 10360,
"name" : "Developers",
"self" : "http://www.example.com/jira/rest/api/2/project/MKY/role/10360"
},
"type" : "project",
"view" : true
},
{
"edit" : false,
"group" : {
"name" : "jira-administrators",
"self" : "http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"
},
"id" : 10010,
"type" : "group",
"view" : true
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returned if successful."
},
"401" : {
"description" : "Returned if user is not logged in."
},
"404" : {
"description" : "Returned when filter with given id does not exist or when the user does not have permissions to view the filter."
}
},
"tags" : [
]
},
"post" : {
"description" : "Adds a share permissions to the given filter. Adding a global permission removes all previous permissions from the filter.",
"operationId" : "addSharePermission",
"parameters" : [
{
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : [
{
"edit" : false,
"groupname" : "jira-administrators",
"type" : "group",
"view" : true
},
{
"edit" : true,
"type" : "user",
"userKey" : "userKey",
"view" : true
}
],
"schema" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"groupname" : {
"type" : "string"
},
"projectId" : {
"type" : "string"
},
"projectRoleId" : {
"type" : "string"
},
"type" : {
"type" : "string"
},
"userKey" : {
"type" : "string"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Share Permission Input",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"application/json" : {
"example" : [
{
"edit" : false,
"id" : 10000,
"type" : "global",
"view" : true
},
{
"edit" : false,
"id" : 10010,
"project" : {
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10000",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000",
"48x48" : "http://www.example.com/jira/secure/projectavatar?size=large&pid=10000"
},
"id" : "10000",
"key" : "EX",
"name" : "Example",
"projectCategory" : {
"description" : "First Project Category",
"id" : "10000",
"name" : "FIRST",
"self" : "http://www.example.com/jira/rest/api/2/projectCategory/10000"
},
"self" : "http://www.example.com/jira/rest/api/2/project/EX"
},
"type" : "project",
"view" : true
},
{
"edit" : false,
"id" : 10010,
"project" : {
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10002",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10002",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10002",
"48x48" : "http://www.example.com/jira/secure/projectavatar?size=large&pid=10002"
},
"id" : "10002",
"key" : "MKY",
"name" : "Example",
"projectCategory" : {
"description" : "First Project Category",
"id" : "10000",
"name" : "FIRST",
"self" : "http://www.example.com/jira/rest/api/2/projectCategory/10000"
},
"self" : "http://www.example.com/jira/rest/api/2/project/MKY"
},
"role" : {
"actors" : [
{
"displayName" : "jira-developers",
"id" : 10240,
"name" : "jira-developers",
"type" : "atlassian-group-role-actor"
}
],
"description" : "A project role that represents developers in a project",
"id" : 10360,
"name" : "Developers",
"self" : "http://www.example.com/jira/rest/api/2/project/MKY/role/10360"
},
"type" : "project",
"view" : true
},
{
"edit" : false,
"group" : {
"name" : "jira-administrators",
"self" : "http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"
},
"id" : 10010,
"type" : "group",
"view" : true
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Returned if successful."
},
"400" : {
"description" : "Returned given permission input bean is invalid or when user does not have the permission to share filters or when the user cannot edit the given filter."
},
"401" : {
"description" : "Returned if user is not logged in."
},
"404" : {
"description" : "Returned when filter with given id does not exist or when the user does not have permissions to view the filter."
}
},
"tags" : [
]
}
},
"/api/2/filter/{id}/permission/{permission-id}" : {
"delete" : {
"description" : "Removes a share permissions from the given filter.",
"operationId" : "deleteSharePermission",
"parameters" : [
{
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"in" : "path",
"name" : "permission-id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"description" : ""
},
"204" : {
"description" : "Returned if successful."
},
"404" : {
"description" : "Returned when filter or permission with given id does not exist or when the user does not have permissions to view the filter."
}
},
"tags" : [
]
}
},
"/api/2/filter/{id}/permission/{permissionId}" : {
"get" : {
"description" : "Returns a single share permission of the given filter.",
"operationId" : "getSharePermission",
"parameters" : [
{
"in" : "path",
"name" : "permissionId",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"format" : "int64",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"edit" : false,
"id" : 10000,
"type" : "global",
"view" : true
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"edit" : {
"type" : "boolean"
},
"group" : {
"$ref" : "#/components/schemas/group"
},
"id" : {
"type" : "integer"
},
"project" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assigneeType" : {
"enum" : [
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"components" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"assignee" : {
"$ref" : "#/components/schemas/user"
},
"assigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"isAssigneeTypeValid" : {
"type" : "boolean"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"leadUserName" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"realAssignee" : {
"$ref" : "#/components/schemas/user"
},
"realAssigneeType" : {
"enum" : [
"PROJECT_DEFAULT",
"COMPONENT_LEAD",
"PROJECT_LEAD",
"UNASSIGNED"
],
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"required" : [
"isAssigneeTypeValid"
],
"title" : "Component",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"email" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issueTypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"lead" : {
"$ref" : "#/components/schemas/user"
},
"name" : {
"type" : "string"
},
"projectCategory" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Category",
"type" : "object"
},
"projectKeys" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"projectTypeKey" : {
"type" : "string"
},
"roles" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"url" : {
"type" : "string"
},
"versions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"archived" : {
"type" : "boolean"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"moveUnfixedIssuesTo" : {
"format" : "uri",
"type" : "string"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"href" : {
"type" : "string"
},
"iconClass" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"label" : {
"type" : "string"
},
"styleClass" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"weight" : {
"type" : "integer"
}
},
"title" : "Simple Link",
"type" : "object"
},
"type" : "array"
},
"overdue" : {
"type" : "boolean"
},
"project" : {
"type" : "string"
},
"projectId" : {
"type" : "integer"
},
"released" : {
"type" : "boolean"
},
"remotelinks" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"link" : {
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Entity Link",
"type" : "object"
},
"type" : "array"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"userReleaseDate" : {
"type" : "string"
},
"userStartDate" : {
"type" : "string"
}
},
"title" : "Version",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Project",
"type" : "object"
},
"role" : {
"additionalProperties" : false,
"properties" : {
"actors" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Role Actor",
"type" : "object"
},
"type" : "array"
},
"description" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Project Role",
"type" : "object"
},
"type" : {
"type" : "string"
},
"user" : {
"$ref" : "#/components/schemas/user"
},
"view" : {
"type" : "boolean"
}
},
"required" : [
"view",
"edit"
],
"title" : "Filter Permission",
"type" : "object"
}
}
},
"description" : "Returned if successful."
},
"401" : {
"description" : "Returned if user is not logged in."
},
"404" : {
"description" : "Returned when filter or permission with given id does not exist or when the user does not have permissions to view the filter."
}
},
"tags" : [
]
}
},
"/api/2/group" : {
"delete" : {
"description" : "Deletes a group by given group parameter. <p> Returns no content",
"operationId" : "removeGroup",
"parameters" : [
{
"description" : "(mandatory) The name of the group to delete.",
"in" : "query",
"name" : "groupname",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "If you delete a group and content is restricted to that group, the content will be hidden from all users.\n To prevent this, use this parameter to specify a different group to transfer the restrictions (comments and worklogs only) to.",
"in" : "query",
"name" : "swapGroup",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"description" : "Returned if the group was deleted."
},
"400" : {
"description" : "Returned if user requested an group that does not exist."
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user does not have administrator permissions."
},
"404" : {
"description" : "Returned if the requested group was not found."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns REST representation for the requested group. Allows to get list of active users belonging to the\n specified group and its subgroups if \"users\" expand option is provided. You can page through users list by using\n indexes in expand param. For example to get users from index 10 to index 15 use \"users[10:15]\" expand value. This\n will return 6 users (if there are at least 16 users in this group). Indexes are 0-based and inclusive.\n <p>\n This resource is deprecated, please use group/member API instead.",
"operationId" : "getGroup",
"parameters" : [
{
"description" : "A name of requested group.",
"in" : "query",
"name" : "groupname",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "List of fields to expand. Currently only available expand is \"users\".",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
},
"post" : {
"description" : "Creates a group by given group parameter\n <p>\n Returns REST representation for the requested group.",
"operationId" : "createGroup",
"parameters" : [
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
}
},
"title" : "Add Group",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"application/json" : {
"example" : {
"expand" : "users",
"name" : "jira-administrators",
"self" : "http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators",
"users" : {
"end-index" : 0,
"items" : [
{
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
}
],
"max-results" : 50,
"size" : 1,
"start-index" : 0
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"users" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Paged List Wrapper",
"type" : "object"
}
},
"title" : "Group",
"type" : "object"
}
}
},
"description" : "Returns full representation of a Jira group in JSON format."
},
"400" : {
"description" : "Returned if user requested an empty group name or group already exists"
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user does not have administrator permissions."
}
},
"tags" : [
]
}
},
"/api/2/group/member" : {
"get" : {
"description" : "This resource returns a <a href=\"#pagination\">paginated</a> list of users who are members of the specified group and its subgroups.\n Users in the page are ordered by user names. User of this resource is required to have sysadmin or admin permissions.",
"operationId" : "getUsersFromGroup",
"parameters" : [
{
"description" : "a name of the group for which members will be returned.",
"in" : "query",
"name" : "groupname",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "inactive users will be included in the response if set to true.",
"in" : "query",
"name" : "includeInactiveUsers",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"description" : "the index of the first user in group to return (0 based).",
"in" : "query",
"name" : "startAt",
"required" : false,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"description" : "the maximum number of users to return (max 50).",
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"isLast" : false,
"maxResults" : 2,
"nextPage" : "http://www.example.com/jira/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2",
"self" : "http://www.example.com/jira/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2",
"startAt" : 3,
"total" : 5,
"values" : [
{
"active" : true,
"avatarUrls" : {
},
"displayName" : "Fred",
"emailAddress" : "fred@atlassian.com",
"key" : "fred",
"name" : "Fred",
"self" : "http://example/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
{
"active" : false,
"avatarUrls" : {
},
"displayName" : "Barney",
"emailAddress" : "barney@atlassian.com",
"key" : "barney",
"name" : "Barney",
"self" : "http://example/jira/rest/api/2/user?username=barney",
"timeZone" : "Australia/Sydney"
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"users" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Paged List Wrapper",
"type" : "object"
}
},
"title" : "Group",
"type" : "object"
}
}
},
"description" : "Paginated list of users in the group."
},
"400" : {
"description" : "Returned if the name of the provided group is empty"
},
"401" : {
"description" : "Returned if the user is not logged in."
},
"403" : {
"description" : "Returned if the calling user is not admin or sysadmin"
},
"404" : {
"description" : "Returned if the specified group does not exist"
}
},
"tags" : [
]
}
},
"/api/2/group/user" : {
"delete" : {
"description" : "Removes given user from a group. <p> Returns no content",
"operationId" : "removeUserFromGroup",
"parameters" : [
{
"description" : "A name of requested group.",
"in" : "query",
"name" : "groupname",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "User to remove from a group",
"in" : "query",
"name" : "username",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"description" : "If the user was removed from the group."
},
"400" : {
"description" : "Returned if user requested an empty group name"
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user does not have administrator permissions."
},
"404" : {
"description" : "Returned if the requested group was not found or the requested user wan not found"
}
},
"tags" : [
]
},
"post" : {
"description" : "Adds given user to a group. <p> Returns the current state of the group.",
"operationId" : "addUserToGroup",
"parameters" : [
{
"description" : "A name of requested group.",
"in" : "query",
"name" : "groupname",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"name" : "charlie"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
}
},
"title" : "Update User To Group",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"application/json" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"users" : {
"additionalProperties" : false,
"properties" : {
"end-index" : {
"type" : "integer"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"type" : "array"
},
"max-results" : {
"type" : "integer"
},
"size" : {
"type" : "integer"
},
"start-index" : {
"type" : "integer"
}
},
"required" : [
"size",
"max-results",
"start-index",
"end-index"
],
"title" : "Paged List Wrapper",
"type" : "object"
}
},
"title" : "Group",
"type" : "object"
}
}
},
"description" : "Returns full representation of a Jira group in JSON format."
},
"400" : {
"description" : "Returned if user requested an empty group name or the user already belongs to the group."
},
"401" : {
"description" : "Returned if the current user is not authenticated."
},
"403" : {
"description" : "Returned if the current user does not have administrator permissions."
},
"404" : {
"description" : "Returned if the requested group was not found or requested user was not found."
}
},
"tags" : [
]
}
},
"/api/2/groups//picker" : {
"get" : {
"description" : "Returns groups with substrings matching a given query. This is mainly for use with\n the group picker, so the returned groups contain html to be used as picker suggestions.\n The groups are also wrapped in a single response object that also contains a header for\n use in the picker, specifically <i>Showing X of Y matching groups</i>.\n <p>\n The number of groups returned is limited by the system property \"jira.ajax.autocomplete.limit\"\n <p>\n The groups will be unique and sorted.",
"operationId" : "findGroups",
"parameters" : [
{
"description" : "a String to match groups agains",
"in" : "query",
"name" : "query",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "exclude",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"in" : "query",
"name" : "userName",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"groups" : [
{
"html" : "<b>j</b>dog-developers",
"name" : "jdog-developers"
},
{
"html" : "<b>j</b>uvenal-bot",
"name" : "juvenal-bot"
}
],
"header" : "Showing 20 of 25 matching groups",
"total" : 25
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"groups" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"html" : {
"type" : "string"
},
"labels" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"text" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"type" : {
"enum" : [
"ADMIN",
"SINGLE",
"MULTIPLE"
],
"type" : "string"
}
},
"title" : "Group Label",
"type" : "object"
},
"type" : "array"
},
"name" : {
"type" : "string"
}
},
"title" : "Group Suggestion",
"type" : "object"
},
"type" : "array"
},
"header" : {
"type" : "string"
},
"total" : {
"type" : "integer"
}
},
"title" : "Group Suggestions",
"type" : "object"
}
}
},
"description" : "Returned even if no groups match the given substring"
}
},
"tags" : [
]
}
},
"/api/2/groupuserpicker" : {
"get" : {
"description" : "Returns a list of users and groups matching query with highlighting. This resource cannot be accessed\n anonymously.",
"operationId" : "findUsersAndGroups",
"parameters" : [
{
"description" : "A string used to search username, Name or e-mail address",
"in" : "query",
"name" : "query",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "the maximum number of users to return (defaults to 50). The maximum allowed value is 1000. If\n you specify a value that is higher than this number, your search results will be truncated.",
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"in" : "query",
"name" : "showAvatar",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"description" : "The custom field id, if this request comes from a custom field, such as a user picker. Optional.",
"in" : "query",
"name" : "fieldId",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "The list of project ids to further restrict the search\n This parameter can occur multiple times to pass in multiple project ids.\n Comma separated value is not supported.\n This parameter is only used when fieldId is present.",
"in" : "query",
"name" : "projectId",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "The list of issue type ids to further restrict the search.\n This parameter can occur multiple times to pass in multiple issue type ids.\n Comma separated value is not supported.\n Special values such as -1 (all standard issue types), -2 (all subtask issue types) are supported.\n This parameter is only used when fieldId is present.",
"in" : "query",
"name" : "issueTypeId",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"groups" : {
"additionalProperties" : false,
"properties" : {
"groups" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"html" : {
"type" : "string"
},
"labels" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"text" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"type" : {
"enum" : [
"ADMIN",
"SINGLE",
"MULTIPLE"
],
"type" : "string"
}
},
"title" : "Group Label",
"type" : "object"
},
"type" : "array"
},
"name" : {
"type" : "string"
}
},
"title" : "Group Suggestion",
"type" : "object"
},
"type" : "array"
},
"header" : {
"type" : "string"
},
"total" : {
"type" : "integer"
}
},
"title" : "Group Suggestions",
"type" : "object"
},
"users" : {
"additionalProperties" : false,
"properties" : {
"header" : {
"type" : "string"
},
"total" : {
"type" : "integer"
},
"users" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrl" : {
"format" : "uri",
"type" : "string"
},
"displayName" : {
"type" : "string"
},
"html" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "User Picker User",
"type" : "object"
},
"type" : "array"
}
},
"title" : "User Picker Results",
"type" : "object"
}
},
"title" : "Users And Groups",
"type" : "object"
}
}
},
"description" : ""
},
"403" : {
"description" : "Returned if the user does not have permission to view users and groups"
}
},
"tags" : [
]
}
},
"/api/2/index/summary" : {
"get" : {
"description" : "Summarizes index condition of current node.\n <p/>\n Returned data consists of:\n <ul>\n <li><code>nodeId</code> - Node identifier.</li>\n <li><code>reportTime</code> - Time of this report creation.</li>\n <li><code>issueIndex</code> - Summary of issue index status.</li>\n <li><code>replicationQueues</code> - Map of index replication queues, where\n keys represent nodes from which replication operations came from.</li>\n </ul>\n <p/>\n <code>issueIndex</code> can contain:\n <ul>\n <li><code>indexReadable</code> - If <code>false</code> the end point failed to read data from issue index\n (check Jira logs for detailed stack trace), otherwise <code>true</code>.\n When <code>false</code> other fields of <code>issueIndex</code> can be not visible.</li>\n <li><code>countInDatabase</code> - Count of issues found in database.</li>\n <li><code>countInIndex</code> - Count of issues found while querying index.</li>\n <li><code>lastUpdatedInDatabase</code> - Time of last update of issue found in database.</li>\n <li><code>lastUpdatedInIndex</code> - Time of last update of issue found while querying index.</li>\n </ul>\n <p/>\n <code>replicationQueues</code>'s map values can contain:\n <ul>\n <li><code>lastConsumedOperation</code> - Last executed index replication operation by current node from sending node's queue.</li>\n <li><code>lastConsumedOperation.id</code> - Identifier of the operation.</li>\n <li><code>lastConsumedOperation.replicationTime</code> - Time when the operation was sent to other nodes.</li>\n <li><code>lastOperationInQueue</code> - Last index replication operation in sending node's queue.</li>\n <li><code>lastOperationInQueue.id</code> - Identifier of the operation.</li>\n <li><code>lastOperationInQueue.replicationTime</code> - Time when the operation was sent to other nodes.</li>\n <li><code>queueSize</code> - Number of operations in queue from sending node to current node.</li>\n </ul>",
"operationId" : "getIndexSummary",
"parameters" : [
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"issueIndex" : {
"countInArchive" : 2000,
"countInDatabase" : 12072,
"countInIndex" : 10072,
"indexReadable" : true,
"lastUpdatedInDatabase" : "2017-07-08T00:46:16.000+0000",
"lastUpdatedInIndex" : "2017-07-07T23:48:53.000+0000"
},
"nodeId" : "node1",
"replicationQueues" : {
"node2" : {
"lastConsumedOperation" : {
"id" : 16822,
"replicationTime" : "2017-07-07T23:10:56.000+0000"
},
"lastOperationInQueue" : {
"id" : 16822,
"replicationTime" : "2017-07-07T23:10:56.000+0000"
},
"queueSize" : 0
},
"node3" : {
"lastConsumedOperation" : {
"id" : 16522
},
"lastOperationInQueue" : {
"id" : 16522
},
"queueSize" : 0
}
},
"reportTime" : "2017-07-08T00:46:16.000+0000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"issueIndex" : {
"additionalProperties" : false,
"properties" : {
"countInArchive" : {
"type" : "integer"
},
"countInDatabase" : {
"type" : "integer"
},
"countInIndex" : {
"type" : "integer"
},
"indexReadable" : {
"type" : "boolean"
},
"lastUpdatedInDatabase" : {
"type" : "object"
},
"lastUpdatedInIndex" : {
"type" : "object"
}
},
"title" : "Issue Index Summary",
"type" : "object"
},
"nodeId" : {
"type" : "string"
},
"replicationQueues" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"lastConsumedOperation" : {
"$ref" : "#/components/schemas/index-replication-queue-entry"
},
"lastOperationInQueue" : {
"$ref" : "#/components/schemas/index-replication-queue-entry"
},
"queueSize" : {
"type" : "integer"
}
},
"title" : "Index Replication Queue Summary",
"type" : "object"
}
},
"type" : "object"
},
"reportTime" : {
"type" : "object"
}
},
"title" : "Index Summary",
"type" : "object"
}
}
},
"description" : "Returns object with data about condition of Jira node's index"
},
"403" : {
"description" : "Returned when current authenticated user has no admin permission"
}
},
"tags" : [
]
}
},
"/api/2/issue" : {
"post" : {
"description" : "Creates an issue or a sub-task from a JSON representation.\n <p/>\n The fields that can be set on create, in either the fields parameter or the update parameter can be determined\n using the <b>/rest/api/2/issue/createmeta</b> resource.\n If a field is not configured to appear on the create screen, then it will not be in the createmeta, and a field\n validation error will occur if it is submitted.\n <p/>\n Creating a sub-task is similar to creating a regular issue, with two important differences:\n <ul>\n <li>the <code>issueType</code> field must correspond to a sub-task issue type (you can use\n <code>/issue/createmeta</code> to discover sub-task issue types), and</li>\n <li>you must provide a <code>parent</code> field in the issue create request containing the id or key of the\n parent issue.</li>\n <li>The <code>updateHistory</code> param adds the project that this issue is created in, to the current user's project history,\n if set to true (by default, the project history is not updated).</li>\n <li>You can view the project history in the Jira application, via the Projects dropdown.</li>\n </ul>",
"operationId" : "createIssue",
"parameters" : [
{
"description" : "if true then the user's project history is updated",
"in" : "query",
"name" : "updateHistory",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"fields" : {
"assignee" : {
"name" : "homer"
},
"components" : [
{
"id" : "10000"
}
],
"customfield_10000" : "09/Jun/81",
"customfield_20000" : "06/Jul/11 3:25 PM",
"customfield_30000" : [
"10000",
"10002"
],
"customfield_40000" : "this is a text field",
"customfield_50000" : "this is a text area. big text.",
"customfield_60000" : "jira-software-users",
"customfield_70000" : [
"jira-administrators",
"jira-software-users"
],
"customfield_80000" : {
"value" : "red"
},
"description" : "description",
"duedate" : "2011-03-11",
"environment" : "environment",
"fixVersions" : [
{
"id" : "10001"
}
],
"issuetype" : {
"id" : "10000"
},
"labels" : [
"bugfix",
"blitz_test"
],
"priority" : {
"id" : "20000"
},
"project" : {
"id" : "10000"
},
"reporter" : {
"name" : "smithers"
},
"security" : {
"id" : "10000"
},
"summary" : "something's wrong",
"timetracking" : {
"originalEstimate" : "10",
"remainingEstimate" : "5"
},
"versions" : [
{
"id" : "10000"
}
]
},
"update" : {
"worklog" : [
{
"add" : {
"started" : "2011-07-05T11:05:00.000+0000",
"timeSpent" : "60m"
}
}
]
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"historyMetadata" : {
"additionalProperties" : false,
"properties" : {
"activityDescription" : {
"type" : "string"
},
"activityDescriptionKey" : {
"type" : "string"
},
"actor" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"cause" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"description" : {
"type" : "string"
},
"descriptionKey" : {
"type" : "string"
},
"emailDescription" : {
"type" : "string"
},
"emailDescriptionKey" : {
"type" : "string"
},
"extraData" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"generator" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"type" : {
"type" : "string"
}
},
"title" : "History Metadata",
"type" : "object"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"transition" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
},
"type" : "array"
},
"autoCompleteUrl" : {
"type" : "string"
},
"defaultValue" : {
},
"fieldId" : {
"type" : "string"
},
"hasDefaultValue" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"required" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
}
},
"required" : [
"required"
],
"title" : "Field Meta",
"type" : "object"
}
},
"type" : "object"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"to" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"statusCategory" : {
"additionalProperties" : false,
"properties" : {
"colorName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "Status Category",
"type" : "object"
},
"statusColor" : {
"type" : "string"
}
},
"title" : "Status",
"type" : "object"
}
},
"title" : "Transition",
"type" : "object"
},
"update" : {
"patternProperties" : {
".+" : {
"items" : {
"title" : "Field Operation",
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
},
"title" : "Issue Update",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"application/json" : {
"example" : {
"id" : "10000",
"key" : "TST-24",
"self" : "http://www.example.com/jira/rest/api/2/issue/10000"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Issue Create Response",
"type" : "object"
}
}
},
"description" : "Returns a link to the created issue."
},
"400" : {
"description" : "Returned if the input is invalid (e.g. missing required fields, invalid field values, and so forth)."
}
},
"tags" : [
]
}
},
"/api/2/issue//bulk" : {
"post" : {
"description" : "Creates issues or sub-tasks from a JSON representation.\n <p/>\n Creates many issues in one bulk operation.\n <p/>\n Creating a sub-task is similar to creating a regular issue. More details can be found in createIssue section:\n {@link IssueResource#createIssue(IssueUpdateBean)}}",
"operationId" : "createIssues",
"parameters" : [
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"issueUpdates" : [
{
"fields" : {
"assignee" : {
"name" : "homer"
},
"components" : [
{
"id" : "10000"
}
],
"customfield_10000" : "09/Jun/81",
"customfield_20000" : "06/Jul/11 3:25 PM",
"customfield_30000" : [
"10000",
"10002"
],
"customfield_40000" : "this is a text field",
"customfield_50000" : "this is a text area. big text.",
"customfield_60000" : "jira-software-users",
"customfield_70000" : [
"jira-administrators",
"jira-software-users"
],
"customfield_80000" : {
"value" : "red"
},
"description" : "description",
"duedate" : "2011-03-11",
"environment" : "environment",
"fixVersions" : [
{
"id" : "10001"
}
],
"issuetype" : {
"id" : "10000"
},
"labels" : [
"bugfix",
"blitz_test"
],
"priority" : {
"id" : "20000"
},
"project" : {
"id" : "10000"
},
"reporter" : {
"name" : "smithers"
},
"security" : {
"id" : "10000"
},
"summary" : "something's wrong",
"timetracking" : {
"originalEstimate" : "10",
"remainingEstimate" : "5"
},
"versions" : [
{
"id" : "10000"
}
]
},
"update" : {
"worklog" : [
{
"add" : {
"started" : "2011-07-05T11:05:00.000+0000",
"timeSpent" : "60m"
}
}
]
}
},
{
"fields" : {
"assignee" : {
"name" : "jerry"
},
"components" : [
{
"id" : "10000"
}
],
"customfield_10000" : "09/Jun/81",
"customfield_20000" : "06/Jul/11 3:25 PM",
"customfield_30000" : [
"10000",
"10002"
],
"customfield_40000" : "this is a text field",
"customfield_50000" : "this is a text area. big text.",
"customfield_60000" : "jira-software-users",
"customfield_70000" : [
"jira-administrators",
"jira-software-users"
],
"customfield_80000" : {
"value" : "red"
},
"description" : "description",
"duedate" : "2011-04-16",
"environment" : "environment",
"fixVersions" : [
{
"id" : "10001"
}
],
"issuetype" : {
"id" : "10000"
},
"labels" : [
"new_release"
],
"priority" : {
"id" : "20000"
},
"project" : {
"id" : "1000"
},
"reporter" : {
"name" : "kosecki"
},
"security" : {
"id" : "10000"
},
"summary" : "something's very wrong",
"timetracking" : {
"originalEstimate" : "15",
"remainingEstimate" : "5"
},
"versions" : [
{
"id" : "10000"
}
]
},
"update" : {
}
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"issueUpdates" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"historyMetadata" : {
"additionalProperties" : false,
"properties" : {
"activityDescription" : {
"type" : "string"
},
"activityDescriptionKey" : {
"type" : "string"
},
"actor" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"cause" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"description" : {
"type" : "string"
},
"descriptionKey" : {
"type" : "string"
},
"emailDescription" : {
"type" : "string"
},
"emailDescriptionKey" : {
"type" : "string"
},
"extraData" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"generator" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"type" : {
"type" : "string"
}
},
"title" : "History Metadata",
"type" : "object"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"transition" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
},
"type" : "array"
},
"autoCompleteUrl" : {
"type" : "string"
},
"defaultValue" : {
},
"fieldId" : {
"type" : "string"
},
"hasDefaultValue" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"required" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
}
},
"required" : [
"required"
],
"title" : "Field Meta",
"type" : "object"
}
},
"type" : "object"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"to" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"statusCategory" : {
"additionalProperties" : false,
"properties" : {
"colorName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "Status Category",
"type" : "object"
},
"statusColor" : {
"type" : "string"
}
},
"title" : "Status",
"type" : "object"
}
},
"title" : "Transition",
"type" : "object"
},
"update" : {
"patternProperties" : {
".+" : {
"items" : {
"title" : "Field Operation",
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
},
"title" : "Issue Update",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Issues Update",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"application/json" : {
"example" : {
"errors" : [
],
"issues" : [
{
"id" : "10000",
"key" : "TST-24",
"self" : "http://www.example.com/jira/rest/api/2/issue/10000"
},
{
"id" : "10001",
"key" : "TST-25",
"self" : "http://www.example.com/jira/rest/api/2/issue/10001"
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Issue Create Response",
"type" : "object"
}
}
},
"description" : "Returns a link to the created issues."
},
"400" : {
"content" : {
"" : {
"example" : {
"elementErrors" : {
"errorMessages" : [
"Field 'priority' is required"
],
"errors" : {
}
},
"failedElementNumber" : 3,
"status" : 400
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"elementErrors" : {
"additionalProperties" : false,
"properties" : {
"errorMessages" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"errors" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"status" : {
"type" : "integer"
}
},
"title" : "Error Collection",
"type" : "object"
},
"failedElementNumber" : {
"type" : "integer"
},
"status" : {
"type" : "integer"
}
},
"title" : "Bulk Operation Error Result",
"type" : "object"
}
}
},
"description" : "Returned if the input is invalid (e.g. missing required fields, invalid field values, and so forth)."
}
},
"tags" : [
]
}
},
"/api/2/issue/archive" : {
"post" : {
"description" : "Archives a list of issues.",
"operationId" : "archiveIssues",
"parameters" : [
{
"description" : "send the email with notification that the issue was updated to users that watch it.\n Admin or project admin permissions are required to disable the notification.",
"in" : "query",
"name" : "notifyUsers",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"items" : {
"type" : "string"
},
"type" : "array"
}
}
}
},
"responses" : {
"204" : {
"content" : {
"text/plain" : {
"schema" : {
"title" : "Streaming Output",
"type" : "object"
}
}
},
"description" : "Returned if the issue is successfully archived."
},
"401" : {
"description" : "Returned if the user is not logged in."
},
"403" : {
"description" : "Returned if the currently authenticated user does not have permission to archive the issue or\n doesn't have DC license or issue is already archived."
},
"404" : {
"description" : "Returned if the issue does not exist."
}
},
"tags" : [
]
}
},
"/api/2/issue/createmeta" : {
"get" : {
"description" : "Returns the meta data for creating issues. This includes the available projects, issue types and fields,\n including field types and whether or not those fields are required.\n Projects will not be returned if the user does not have permission to create issues in that project.\n <p/>\n The fields in the createmeta correspond to the fields in the create screen for the project/issuetype.\n Fields not in the screen will not be in the createmeta.\n <p/>\n Fields will only be returned if <code>expand=projects.issuetypes.fields</code>.\n <p/>\n The results can be filtered by project and/or issue type, given by the query params.",
"operationId" : "getCreateIssueMeta",
"parameters" : [
{
"description" : "combined with the projectKeys param, lists the projects with which to filter the results. If absent, all projects are returned.\n This parameter can be specified multiple times, and/or be a comma-separated list.\n Specifiying a project that does not exist (or that you cannot create issues in) is not an error, but it will not be in the results.",
"in" : "query",
"name" : "projectIds",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "combined with the projectIds param, lists the projects with which to filter the results. If null, all projects are returned.\n This parameter can be specified multiple times, and/or be a comma-separated list.\n Specifiying a project that does not exist (or that you cannot create issues in) is not an error, but it will not be in the results.",
"in" : "query",
"name" : "projectKeys",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "combinded with issuetypeNames, lists the issue types with which to filter the results. If null, all issue types are returned.\n This parameter can be specified multiple times, and/or be a comma-separated list.\n Specifiying an issue type that does not exist is not an error.",
"in" : "query",
"name" : "issuetypeIds",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "combinded with issuetypeIds, lists the issue types with which to filter the results. If null, all issue types are returned.\n This parameter can be specified multiple times, but is NOT interpreted as a comma-separated list.\n Specifiying an issue type that does not exist is not an error.",
"in" : "query",
"name" : "issuetypeNames",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"expand" : "projects",
"projects" : [
{
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10000&avatarId=10011",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000&avatarId=10011",
"48x48" : "http://www.example.com/jira/secure/projectavatar?pid=10000&avatarId=10011"
},
"id" : "10000",
"issuetypes" : [
{
"description" : "An error in the code",
"fields" : {
"issuetype" : {
"fieldId" : "issuetype",
"hasDefaultValue" : false,
"name" : "Issue Type",
"operations" : [
"set"
],
"required" : true
}
},
"iconUrl" : "http://www.example.com/jira/images/icons/issuetypes/bug.png",
"id" : "1",
"name" : "Bug",
"self" : "http://www.example.com/jira/rest/api/2/issueType/1",
"subtask" : false
}
],
"key" : "EX",
"name" : "Example Project",
"self" : "http://www.example.com/jira/rest/api/2/project/EX"
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"projects" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"expand" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"issuetypes" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"avatarId" : {
"type" : "integer"
},
"description" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"fields" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
},
"type" : "array"
},
"autoCompleteUrl" : {
"type" : "string"
},
"defaultValue" : {
},
"fieldId" : {
"type" : "string"
},
"hasDefaultValue" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"required" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
}
},
"required" : [
"required"
],
"title" : "Field Meta",
"type" : "object"
}
},
"type" : "object"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"subtask" : {
"type" : "boolean"
}
},
"required" : [
"subtask"
],
"title" : "Create Meta Issue Type",
"type" : "object"
},
"type" : "array"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Create Meta Project",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Create Meta",
"type" : "object"
}
}
},
"description" : "Returns the meta data for creating issues."
},
"303" : {
"description" : "Returned if the endpoint is blocked by the Administrator."
},
"403" : {
"description" : "Returned if the user does not have permission to view any of the requested projects."
}
},
"tags" : [
]
}
},
"/api/2/issue/createmeta/{projectIdOrKey}/issuetypes" : {
"get" : {
"description" : "",
"operationId" : "getCreateIssueMetaProjectIssueTypes",
"parameters" : [
{
"in" : "path",
"name" : "projectIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "startAt",
"required" : false,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
}
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}" : {
"get" : {
"description" : "",
"operationId" : "getCreateIssueMetaFields",
"parameters" : [
{
"in" : "path",
"name" : "issueTypeId",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "path",
"name" : "projectIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "startAt",
"required" : false,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
}
],
"responses" : {
"default" : {
"description" : ""
}
},
"tags" : [
]
}
},
"/api/2/issue/picker" : {
"get" : {
"description" : "Returns suggested issues which match the auto-completion query for the user which executes this request. This REST\n method will check the user's history and the user's browsing context and select this issues, which match the query.",
"operationId" : "getIssuePickerResource",
"parameters" : [
{
"description" : "the query.",
"in" : "query",
"name" : "query",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "the JQL in context of which the request is executed. Only issues which match this JQL query will be included in results.",
"in" : "query",
"name" : "currentJQL",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the issue in context of which the request is executed. The issue which is in context will not be included in the auto-completion result, even if it matches the query.",
"in" : "query",
"name" : "currentIssueKey",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "the id of the project in context of which the request is executed. Suggested issues will be only from this project.",
"in" : "query",
"name" : "currentProjectId",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "if set to false, subtasks will not be included in the list.",
"in" : "query",
"name" : "showSubTasks",
"required" : false,
"schema" : {
"type" : "boolean"
}
},
{
"description" : "if set to false and request is executed in context of a subtask, the parent issue will not be included in the auto-completion result, even if it matches the query.",
"in" : "query",
"name" : "showSubTaskParent",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"sections" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"issues" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"img" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"keyHtml" : {
"type" : "string"
},
"summary" : {
"type" : "string"
},
"summaryText" : {
"type" : "string"
}
},
"title" : "Issue Picker Issue",
"type" : "object"
},
"type" : "array"
},
"label" : {
"type" : "string"
},
"msg" : {
"type" : "string"
},
"sub" : {
"type" : "string"
}
},
"title" : "Issue Section",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Issue Picker Result",
"type" : "object"
}
}
},
"description" : "Returns a list of issues which match the picker parameters."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}" : {
"delete" : {
"description" : "Delete an issue.\n <p/>\n If the issue has subtasks you must set the parameter deleteSubtasks=true to delete the issue.\n You cannot delete an issue without its subtasks also being deleted.",
"operationId" : "deleteIssue",
"parameters" : [
{
"description" : "the issue id or key to update (i.e. JRA-1330)",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "a String of true or false indicating that any subtasks should also be deleted. If the\n issue has no subtasks this parameter is ignored. If the issue has subtasks and this parameter is missing or false,\n then the issue will not be deleted and an error will be returned.",
"in" : "query",
"name" : "deleteSubtasks",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the issue was removed successfully."
},
"400" : {
"description" : "Returned if an error occurs."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to delete the issue."
},
"404" : {
"description" : "Returned if the issue does not exist."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns a full representation of the issue for the given issue key.\n <p>\n An issue JSON consists of the issue key, a collection of fields,\n a link to the workflow transition sub-resource, and (optionally) the HTML rendered values of any fields that support it\n (e.g. if wiki syntax is enabled for the description or comments).\n <p>\n The <code>fields</code> param (which can be specified multiple times) gives a comma-separated list of fields\n to include in the response. This can be used to retrieve a subset of fields.\n A particular field can be excluded by prefixing it with a minus.\n <p>\n By default, all (<code>*all</code>) fields are returned in this get-issue resource. Note: the default is different\n when doing a jql search -- the default there is just navigable fields (<code>*navigable</code>).\n <ul>\n <li><code>*all</code> - include all fields</li>\n <li><code>*navigable</code> - include just navigable fields</li>\n <li><code>summary,comment</code> - include just the summary and comments</li>\n <li><code>-comment</code> - include everything except comments (the default is <code>*all</code> for get-issue)</li>\n <li><code>*all,-comment</code> - include everything except comments</li>\n </ul>\n <p>\n The {@code properties} param is similar to {@code fields} and specifies a comma-separated list of issue\n properties to include. Unlike {@code fields}, properties are not included by default. To include them all\n send {@code ?properties=*all}. You can also include only specified properties or exclude some properties\n with a minus (-) sign.\n <p>\n <ul>\n <li>{@code *all} - include all properties</li>\n <li>{@code *all, -prop1} - include all properties except {@code prop1} </li>\n <li>{@code prop1, prop1} - include {@code prop1} and {@code prop2} properties </li>\n </ul>\n </p>\n <p/>\n Jira will attempt to identify the issue by the <code>issueIdOrKey</code> path parameter. This can be an issue id,\n or an issue key. If the issue cannot be found via an exact match, Jira will also look for the issue in a case-insensitive way, or\n by looking to see if the issue was moved. In either of these cases, the request will proceed as normal (a 302 or other redirect\n will <b>not</b> be returned). The issue key contained in the response will indicate the current value of issue's key.\n <p/>\n The <code>expand</code> param is used to include, hidden by default, parts of response. This can be used to include:\n <ul>\n <li><code>renderedFields</code> - field values in HTML format</li>\n <li><code>names</code> - display name of each field</li>\n <li><code>schema</code> - schema for each field which describes a type of the field</li>\n <li><code>transitions</code> - all possible transitions for the given issue</li>\n <li><code>operations</code> - all possibles operations which may be applied on issue</li>\n <li><code>editmeta</code> - information about how each field may be edited. It contains field's schema as well.</li>\n <li><code>changelog</code> - history of all changes of the given issue</li>\n <li><code>versionedRepresentations</code> -\n REST representations of all fields. Some field may contain more recent versions. RESET representations are numbered.\n The greatest number always represents the most recent version. It is recommended that the most recent version is used.\n version for these fields which provide a more recent REST representation.\n After including <code>versionedRepresentations</code> \"fields\" field become hidden.</li>\n </ul>",
"operationId" : "getIssue",
"parameters" : [
{
"description" : "the issue id or key to update (i.e. JRA-1330)",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the list of fields to return for the issue. By default, all fields are returned.",
"in" : "query",
"name" : "fields",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "the list of properties to return for the issue. By default no properties are returned.",
"in" : "query",
"name" : "properties",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"in" : "query",
"name" : "updateHistory",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"expand" : "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations",
"fields" : {
"attachment" : [
{
"author" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"content" : "http://www.example.com/jira/attachments/10000",
"created" : "2020-08-17T18:08:16.531+0000",
"filename" : "picture.jpg",
"mimeType" : "image/jpeg",
"self" : "http://www.example.com/jira/rest/api/2.0/attachments/10000",
"size" : 23123,
"thumbnail" : "http://www.example.com/jira/secure/thumbnail/10000"
}
],
"comment" : [
{
"author" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"created" : "2020-08-17T18:08:16.549+0000",
"id" : "10000",
"self" : "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000",
"updateAuthor" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"updated" : "2020-08-17T18:08:16.549+0000",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
}
],
"description" : "example bug report",
"issuelinks" : [
{
"id" : "10001",
"outwardIssue" : {
"fields" : {
"status" : {
"iconUrl" : "http://www.example.com/jira//images/icons/statuses/open.png",
"name" : "Open"
}
},
"id" : "10004L",
"key" : "PRJ-2",
"self" : "http://www.example.com/jira/rest/api/2/issue/PRJ-2"
},
"type" : {
"id" : "10000",
"inward" : "depends on",
"name" : "Dependent",
"outward" : "is depended by"
}
},
{
"id" : "10002",
"inwardIssue" : {
"fields" : {
"status" : {
"iconUrl" : "http://www.example.com/jira//images/icons/statuses/open.png",
"name" : "Open"
}
},
"id" : "10004",
"key" : "PRJ-3",
"self" : "http://www.example.com/jira/rest/api/2/issue/PRJ-3"
},
"type" : {
"id" : "10000",
"inward" : "depends on",
"name" : "Dependent",
"outward" : "is depended by"
}
}
],
"project" : {
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000",
"24x24" : "http://www.example.com/jira/secure/projectavatar?size=small&pid=10000",
"32x32" : "http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000",
"48x48" : "http://www.example.com/jira/secure/projectavatar?size=large&pid=10000"
},
"id" : "10000",
"key" : "EX",
"name" : "Example",
"projectCategory" : {
"description" : "First Project Category",
"id" : "10000",
"name" : "FIRST",
"self" : "http://www.example.com/jira/rest/api/2/projectCategory/10000"
},
"self" : "http://www.example.com/jira/rest/api/2/project/EX"
},
"sub-tasks" : [
{
"id" : "10000",
"outwardIssue" : {
"fields" : {
"status" : {
"iconUrl" : "http://www.example.com/jira//images/icons/statuses/open.png",
"name" : "Open"
}
},
"id" : "10003",
"key" : "EX-2",
"self" : "http://www.example.com/jira/rest/api/2/issue/EX-2"
},
"type" : {
"id" : "10000",
"inward" : "Parent",
"name" : "",
"outward" : "Sub-task"
}
}
],
"timetracking" : {
"originalEstimate" : "10m",
"originalEstimateSeconds" : 600,
"remainingEstimate" : "3m",
"remainingEstimateSeconds" : 200,
"timeSpent" : "6m",
"timeSpentSeconds" : 400
},
"updated" : 1,
"watcher" : {
"isWatching" : false,
"self" : "http://www.example.com/jira/rest/api/2/issue/EX-1/watchers",
"watchCount" : 1,
"watchers" : [
{
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
}
]
},
"worklog" : [
{
"author" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"comment" : "I did some work here.",
"id" : "100028",
"issueId" : "10002",
"self" : "http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000",
"started" : "2020-08-17T18:08:16.734+0000",
"timeSpent" : "3h 20m",
"timeSpentSeconds" : 12000,
"updateAuthor" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"updated" : "2020-08-17T18:08:16.734+0000",
"visibility" : {
"type" : "group",
"value" : "jira-developers"
}
}
]
},
"id" : "10002",
"key" : "EX-1",
"names" : {
"attachment" : "attachment",
"comment" : "comment",
"description" : "description",
"issuelinks" : "issuelinks",
"project" : "project",
"sub-tasks" : "sub-tasks",
"timetracking" : "timetracking",
"updated" : "updated",
"watcher" : "watcher",
"worklog" : "worklog"
},
"schema" : {
},
"self" : "http://www.example.com/jira/rest/api/2/issue/10002"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"changelog" : {
"additionalProperties" : false,
"properties" : {
"histories" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"created" : {
"type" : "string"
},
"historyMetadata" : {
"additionalProperties" : false,
"properties" : {
"activityDescription" : {
"type" : "string"
},
"activityDescriptionKey" : {
"type" : "string"
},
"actor" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"cause" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"description" : {
"type" : "string"
},
"descriptionKey" : {
"type" : "string"
},
"emailDescription" : {
"type" : "string"
},
"emailDescriptionKey" : {
"type" : "string"
},
"extraData" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"generator" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"type" : {
"type" : "string"
}
},
"title" : "History Metadata",
"type" : "object"
},
"id" : {
"type" : "string"
},
"items" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"field" : {
"type" : "string"
},
"fieldtype" : {
"type" : "string"
},
"from" : {
"type" : "string"
},
"fromString" : {
"type" : "string"
},
"to" : {
"type" : "string"
},
"toString" : {
"type" : "string"
}
},
"title" : "Change Item",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Change History",
"type" : "object"
},
"type" : "array"
},
"maxResults" : {
"type" : "integer"
},
"startAt" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Changelog",
"type" : "object"
},
"editmeta" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
"$ref" : "#/components/schemas/field-meta"
}
},
"type" : "object"
}
},
"title" : "Edit Meta",
"type" : "object"
},
"expand" : {
"type" : "string"
},
"fields" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"fieldsToInclude" : {
"title" : "Included Fields",
"type" : "object"
},
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"names" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"operations" : {
"additionalProperties" : false,
"properties" : {
"linkGroups" : {
"items" : {
"$ref" : "#/components/schemas/link-group"
},
"type" : "array"
}
},
"title" : "Opsbar",
"type" : "object"
},
"properties" : {
"additionalProperties" : false,
"properties" : {
"properties" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
}
},
"title" : "Properties",
"type" : "object"
},
"renderedFields" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"schema" : {
"patternProperties" : {
".+" : {
"$ref" : "#/components/schemas/json-type"
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"transitions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"expand" : {
"type" : "string"
},
"fields" : {
"patternProperties" : {
".+" : {
"$ref" : "#/components/schemas/field-meta"
}
},
"type" : "object"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"to" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"statusCategory" : {
"additionalProperties" : false,
"properties" : {
"colorName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Status Category",
"type" : "object"
},
"statusColor" : {
"type" : "string"
}
},
"title" : "Status",
"type" : "object"
}
},
"title" : "Transition",
"type" : "object"
},
"type" : "array"
},
"versionedRepresentations" : {
"patternProperties" : {
".+" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
}
},
"type" : "object"
}
},
"title" : "Issue",
"type" : "object"
}
}
},
"description" : "Returns a full representation of a Jira issue in JSON format."
},
"404" : {
"description" : "Returned if the requested issue is not found, or the user does not have permission to view it."
}
},
"tags" : [
]
},
"put" : {
"description" : "Edits an issue from a JSON representation.\n <p/>\n The issue can either be updated by setting explicit the field value(s)\n or by using an operation to change the field value.\n <p/>\n The fields that can be updated, in either the fields parameter or the update parameter, can be determined\n using the <b>/rest/api/2/issue/{issueIdOrKey}/editmeta</b> resource.<br>\n If a field is not configured to appear on the edit screen, then it will not be in the editmeta, and a field\n validation error will occur if it is submitted.\n <p/>\n Specifying a \"field_id\": field_value in the \"fields\" is a shorthand for a \"set\" operation in the \"update\" section.<br>\n Field should appear either in \"fields\" or \"update\", not in both.",
"operationId" : "editIssue",
"parameters" : [
{
"description" : "the issue id or key to update (i.e. JRA-1330)",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "send the email with notification that the issue was updated to users that watch it.\n Admin or project admin permissions are required to disable the notification.",
"in" : "query",
"name" : "notifyUsers",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"historyMetadata" : {
"additionalProperties" : false,
"properties" : {
"activityDescription" : {
"type" : "string"
},
"activityDescriptionKey" : {
"type" : "string"
},
"actor" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"cause" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"description" : {
"type" : "string"
},
"descriptionKey" : {
"type" : "string"
},
"emailDescription" : {
"type" : "string"
},
"emailDescriptionKey" : {
"type" : "string"
},
"extraData" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"generator" : {
"$ref" : "#/components/schemas/history-metadata-participant"
},
"type" : {
"type" : "string"
}
},
"title" : "History Metadata",
"type" : "object"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"transition" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
},
"type" : "array"
},
"autoCompleteUrl" : {
"type" : "string"
},
"defaultValue" : {
},
"fieldId" : {
"type" : "string"
},
"hasDefaultValue" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"required" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
}
},
"required" : [
"required"
],
"title" : "Field Meta",
"type" : "object"
}
},
"type" : "object"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"to" : {
"additionalProperties" : false,
"properties" : {
"description" : {
"type" : "string"
},
"iconUrl" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"statusCategory" : {
"additionalProperties" : false,
"properties" : {
"colorName" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
}
},
"title" : "Status Category",
"type" : "object"
},
"statusColor" : {
"type" : "string"
}
},
"title" : "Status",
"type" : "object"
}
},
"title" : "Transition",
"type" : "object"
},
"update" : {
"patternProperties" : {
".+" : {
"items" : {
"title" : "Field Operation",
"type" : "object"
},
"type" : "array"
}
},
"type" : "object"
}
},
"title" : "Issue Update",
"type" : "object"
}
}
}
},
"responses" : {
"204" : {
"description" : "Returned if it updated the issue successfully."
},
"400" : {
"description" : "Returned if the requested issue update failed."
},
"403" : {
"description" : "Returned if the user doesn't have permissions to disable users notification."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/archive" : {
"put" : {
"description" : "Archives an issue.",
"operationId" : "archiveIssue",
"parameters" : [
{
"description" : "Issue id or issue key",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "send the email with notification that the issue was updated to users that watch it.\n Admin or project admin permissions are required to disable the notification.",
"in" : "query",
"name" : "notifyUsers",
"required" : false,
"schema" : {
"type" : "boolean"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the issue is successfully archived."
},
"401" : {
"description" : "Returned if the user is not logged in."
},
"403" : {
"description" : "Returned if the currently authenticated user does not have permission to archive the issue or\n doesn't have DC license or issue is already archived."
},
"404" : {
"description" : "Returned if the issue does not exist."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/assignee" : {
"put" : {
"description" : "Assigns an issue to a user.\n You can use this resource to assign issues when the user submitting the request has the assign permission but not the\n edit issue permission.\n If the name is \"-1\" automatic assignee is used. A null name will remove the assignee.",
"operationId" : "assign",
"parameters" : [
{
"description" : "a String containing an issue key",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"name" : "harry"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"applicationRoles" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"deleted" : {
"type" : "boolean"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"groups" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"key" : {
"type" : "string"
},
"locale" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
}
}
}
},
"responses" : {
"204" : {
"description" : "Returned if the issue is successfully assigned."
},
"400" : {
"description" : "Returned if there is a problem with the received user representation."
},
"401" : {
"description" : "Returned if the calling user does not have permission to assign the issue."
},
"404" : {
"description" : "Returned if either the issue or the user does not exist."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/attachments" : {
"post" : {
"description" : "Add one or more attachments to an issue.\n <p>\n This resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. Most client\n libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components\n library provides a\n <a href=\"http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html\">MultiPartEntity</a>\n that makes it simple to submit a multipart POST.\n <p>\n In order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection\n on it. This means you must submit a header of X-Atlassian-Token: no-check with the request, otherwise it will be\n blocked.\n <p>\n The name of the multipart/form-data parameter that contains attachments must be \"file\"\n <p>\n A simple example to upload a file called \"myfile.txt\" to issue REST-123:\n <pre>curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: no-check\" -F \"file=@myfile.txt\" http://myhost/rest/api/2/issue/TEST-123/attachments</pre>",
"operationId" : "addAttachment",
"parameters" : [
{
"description" : "the issue that you want to add the attachments to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"author" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"content" : "http://www.example.com/jira/attachments/10000",
"created" : "2020-08-17T18:08:16.531+0000",
"filename" : "picture.jpg",
"mimeType" : "image/jpeg",
"self" : "http://www.example.com/jira/rest/api/2.0/attachments/10000",
"size" : 23123,
"thumbnail" : "http://www.example.com/jira/secure/thumbnail/10000"
},
{
"author" : {
"active" : true,
"avatarUrls" : {
"16x16" : "http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred",
"24x24" : "http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred",
"32x32" : "http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred",
"48x48" : "http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred"
},
"deleted" : false,
"displayName" : "Fred F. User",
"emailAddress" : "fred@example.com",
"key" : "JIRAUSER10100",
"locale" : "en_AU",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred",
"timeZone" : "Australia/Sydney"
},
"content" : "http://www.example.com/jira/attachments/10001",
"created" : "2020-08-17T18:08:16.531+0000",
"filename" : "dbeuglog.txt",
"mimeType" : "text/plain",
"self" : "http://www.example.com/jira/rest/api/2.0/attachments/10001",
"size" : 2460,
"thumbnail" : "http://www.example.com/jira/secure/thumbnail/10002"
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"applicationRoles" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"format" : "uri",
"type" : "string"
}
},
"type" : "object"
},
"deleted" : {
"type" : "boolean"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"expand" : {
"type" : "string"
},
"groups" : {
"$ref" : "#/components/schemas/simple-list-wrapper"
},
"key" : {
"type" : "string"
},
"locale" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"content" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"filename" : {
"type" : "string"
},
"mimeType" : {
"type" : "string"
},
"properties" : {
"patternProperties" : {
".+" : {
}
},
"type" : "object"
},
"self" : {
"format" : "uri",
"type" : "string"
},
"size" : {
"type" : "integer"
},
"thumbnail" : {
"type" : "string"
}
},
"required" : [
"size"
],
"title" : "Attachment",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : ""
},
"403" : {
"description" : "Returned if attachments is disabled or if you don't have permission to add attachments to this issue."
},
"404" : {
"description" : "Returned if the requested issue is not found, the user does not have permission to view it, or if the\n attachments exceeds the maximum configured attachment size."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/comment" : {
"get" : {
"description" : "Returns all comments for an issue.\n <p>\n Results can be ordered by the \"created\" field which means the date a comment was added.\n </p>",
"operationId" : "getComments",
"parameters" : [
{
"description" : "a string containing the issue id or key the comment will be added to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the page offset, if not specified then defaults to 0",
"in" : "query",
"name" : "startAt",
"required" : false,
"schema" : {
"format" : "int64",
"type" : "integer"
}
},
{
"description" : "how many results on the page should be included. Defaults to 50.",
"in" : "query",
"name" : "maxResults",
"required" : false,
"schema" : {
"format" : "int32",
"type" : "integer"
}
},
{
"description" : "ordering of the results.",
"in" : "query",
"name" : "orderBy",
"required" : false,
"schema" : {
"type" : "string"
}
},
{
"description" : "optional flags: renderedBody (provides body rendered in HTML)",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"comments" : [
{
"author" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"created" : "2020-08-17T18:08:16.549+0000",
"id" : "10000",
"self" : "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000",
"updateAuthor" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"updated" : "2020-08-17T18:08:16.549+0000",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
}
],
"maxResults" : 1,
"startAt" : 0,
"total" : 1
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"comments" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"$ref" : "#/components/schemas/user"
},
"body" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"renderedBody" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"updateAuthor" : {
"$ref" : "#/components/schemas/user"
},
"updated" : {
"type" : "string"
},
"visibility" : {
"additionalProperties" : false,
"properties" : {
"type" : {
"enum" : [
"group",
"role"
],
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Visibility",
"type" : "object"
}
},
"title" : "Comment",
"type" : "object"
},
"type" : "array"
},
"maxResults" : {
"type" : "integer"
},
"startAt" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Comments With Pagination",
"type" : "object"
}
}
},
"description" : "returns a collection of comments associated with the issue, with count and pagination information."
},
"404" : {
"description" : "Returned if the issue with the given id/key does not exist or if the currently authenticated user does not\n have permission to view it."
}
},
"tags" : [
]
},
"post" : {
"description" : "Adds a new comment to an issue.",
"operationId" : "addComment",
"parameters" : [
{
"description" : "a string containing the issue id or key the comment will be added to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "optional flags: renderedBody (provides body rendered in HTML)",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"$ref" : "#/components/schemas/user"
},
"body" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"renderedBody" : {
"type" : "string"
},
"updateAuthor" : {
"$ref" : "#/components/schemas/user"
},
"updated" : {
"type" : "string"
},
"visibility" : {
"additionalProperties" : false,
"properties" : {
"type" : {
"enum" : [
"group",
"role"
],
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Visibility",
"type" : "object"
}
},
"title" : "Comment",
"type" : "object"
}
}
}
},
"responses" : {
"201" : {
"content" : {
"" : {
"example" : {
"author" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"created" : "2020-08-17T18:08:16.549+0000",
"id" : "10000",
"self" : "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000",
"updateAuthor" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"updated" : "2020-08-17T18:08:16.549+0000",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"$ref" : "#/components/schemas/user"
},
"body" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"renderedBody" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"updateAuthor" : {
"$ref" : "#/components/schemas/user"
},
"updated" : {
"type" : "string"
},
"visibility" : {
"additionalProperties" : false,
"properties" : {
"type" : {
"enum" : [
"group",
"role"
],
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Visibility",
"type" : "object"
}
},
"title" : "Comment",
"type" : "object"
}
}
},
"description" : "Returned if add was successful"
},
"400" : {
"description" : "Returned if the input is invalid (e.g. missing required fields, invalid values, and so forth)."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/comment/{id}" : {
"delete" : {
"description" : "Deletes an existing comment .",
"operationId" : "deleteComment",
"parameters" : [
{
"description" : "of the issue the comment belongs to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the ID of the comment to request",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if delete was successful"
},
"400" : {
"description" : "Returned if the input is invalid (e.g. missing required fields, invalid values, and so forth)."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns a single comment.",
"operationId" : "getComment",
"parameters" : [
{
"description" : "of the issue the comment belongs to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the ID of the comment to request",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "optional flags: renderedBody (provides body rendered in HTML)",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"author" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"created" : "2020-08-17T18:08:16.549+0000",
"id" : "10000",
"self" : "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000",
"updateAuthor" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"updated" : "2020-08-17T18:08:16.549+0000",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"comments" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"$ref" : "#/components/schemas/user"
},
"body" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"renderedBody" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"updateAuthor" : {
"$ref" : "#/components/schemas/user"
},
"updated" : {
"type" : "string"
},
"visibility" : {
"additionalProperties" : false,
"properties" : {
"type" : {
"enum" : [
"group",
"role"
],
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Visibility",
"type" : "object"
}
},
"title" : "Comment",
"type" : "object"
},
"type" : "array"
},
"maxResults" : {
"type" : "integer"
},
"startAt" : {
"type" : "integer"
},
"total" : {
"type" : "integer"
}
},
"title" : "Comments With Pagination",
"type" : "object"
}
}
},
"description" : "Returns a full representation of a Jira comment in JSON format."
},
"404" : {
"description" : "Returned if the requested comment is not found, or the user does not have permission to view it."
}
},
"tags" : [
]
},
"put" : {
"description" : "Updates an existing comment using its JSON representation.",
"operationId" : "updateComment",
"parameters" : [
{
"description" : "of the issue the comment belongs to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the ID of the comment to request",
"in" : "path",
"name" : "id",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "optional flags: renderedBody (provides body rendered in HTML)",
"in" : "query",
"name" : "expand",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"$ref" : "#/components/schemas/user"
},
"body" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"renderedBody" : {
"type" : "string"
},
"updateAuthor" : {
"$ref" : "#/components/schemas/user"
},
"updated" : {
"type" : "string"
},
"visibility" : {
"additionalProperties" : false,
"properties" : {
"type" : {
"enum" : [
"group",
"role"
],
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Visibility",
"type" : "object"
}
},
"title" : "Comment",
"type" : "object"
}
}
}
},
"responses" : {
"200" : {
"content" : {
"" : {
"example" : {
"author" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"body" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"created" : "2020-08-17T18:08:16.549+0000",
"id" : "10000",
"self" : "http://www.example.com/jira/rest/api/2/issue/10010/comment/10000",
"updateAuthor" : {
"active" : false,
"displayName" : "Fred F. User",
"name" : "fred",
"self" : "http://www.example.com/jira/rest/api/2/user?username=fred"
},
"updated" : "2020-08-17T18:08:16.549+0000",
"visibility" : {
"type" : "role",
"value" : "Administrators"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"author" : {
"$ref" : "#/components/schemas/user"
},
"body" : {
"type" : "string"
},
"created" : {
"type" : "string"
},
"id" : {
"type" : "string"
},
"properties" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
},
"type" : "array"
},
"renderedBody" : {
"type" : "string"
},
"self" : {
"type" : "string"
},
"updateAuthor" : {
"$ref" : "#/components/schemas/user"
},
"updated" : {
"type" : "string"
},
"visibility" : {
"additionalProperties" : false,
"properties" : {
"type" : {
"enum" : [
"group",
"role"
],
"type" : "string"
},
"value" : {
"type" : "string"
}
},
"title" : "Visibility",
"type" : "object"
}
},
"title" : "Comment",
"type" : "object"
}
}
},
"description" : "Returned if update was successful"
},
"400" : {
"description" : "Returned if the input is invalid (e.g. missing required fields, invalid values, and so forth)."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/editmeta" : {
"get" : {
"description" : "Returns the meta data for editing an issue.\n <p/>\n The fields in the editmeta correspond to the fields in the edit screen for the issue.\n Fields not in the screen will not be in the editmeta.",
"operationId" : "getEditIssueMeta",
"parameters" : [
{
"description" : "the issue whose edit meta data you want to view",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"fields" : {
"summary" : {
"allowedValues" : [
"red",
"blue",
"default value"
],
"fieldId" : "customfield_10000",
"hasDefaultValue" : false,
"name" : "My Multi Select",
"operations" : [
"set",
"add"
],
"required" : false,
"schema" : {
"custom" : "com.atlassian.jira.plugin.system.customfieldtypes:multiselect",
"customId" : 10001,
"items" : "option",
"type" : "array"
}
}
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"fields" : {
"patternProperties" : {
".+" : {
"additionalProperties" : false,
"properties" : {
"allowedValues" : {
"items" : {
},
"type" : "array"
},
"autoCompleteUrl" : {
"type" : "string"
},
"defaultValue" : {
},
"fieldId" : {
"type" : "string"
},
"hasDefaultValue" : {
"type" : "boolean"
},
"name" : {
"type" : "string"
},
"operations" : {
"items" : {
"type" : "string"
},
"type" : "array"
},
"required" : {
"type" : "boolean"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"custom" : {
"type" : "string"
},
"customId" : {
"type" : "integer"
},
"items" : {
"type" : "string"
},
"system" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Json Type",
"type" : "object"
}
},
"required" : [
"required"
],
"title" : "Field Meta",
"type" : "object"
}
},
"type" : "object"
}
},
"title" : "Edit Meta",
"type" : "object"
}
}
},
"description" : "Returns a response containing a Map of FieldBeans for fields editable by the current user."
},
"404" : {
"description" : "Returned if the requested issue is not found or the user does not have permission to view it."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/notify" : {
"post" : {
"description" : "Sends a notification (email) to the list or recipients defined in the request.",
"operationId" : "notify",
"parameters" : [
{
"description" : "a string containing the issue id or key the comment will be added to",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"htmlBody" : "Lorem ipsum <strong>dolor</strong> sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"restrict" : {
"groups" : [
{
"name" : "notification-group",
"self" : "http://www.example.com/jira/rest/api/2/group?groupname=notification-group"
}
],
"permissions" : [
{
"id" : "10",
"key" : "BROWSE"
}
]
},
"subject" : "Duis eu justo eget augue iaculis fermentum.",
"textBody" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
"to" : {
"assignee" : false,
"groups" : [
{
"name" : "notification-group",
"self" : "http://www.example.com/jira/rest/api/2/group?groupname=notification-group"
}
],
"reporter" : false,
"users" : [
{
"active" : false,
"name" : "fred"
}
],
"voters" : true,
"watchers" : true
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"htmlBody" : {
"type" : "string"
},
"restrict" : {
"additionalProperties" : false,
"properties" : {
"groups" : {
"items" : {
"$ref" : "#/components/schemas/group"
},
"type" : "array"
},
"permissions" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"id" : {
"type" : "string"
},
"key" : {
"type" : "string"
}
},
"title" : "Permission",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Restrict",
"type" : "object"
},
"subject" : {
"type" : "string"
},
"textBody" : {
"type" : "string"
},
"to" : {
"additionalProperties" : false,
"properties" : {
"assignee" : {
"type" : "boolean"
},
"groups" : {
"items" : {
"$ref" : "#/components/schemas/group"
},
"type" : "array"
},
"reporter" : {
"type" : "boolean"
},
"users" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"active" : {
"type" : "boolean"
},
"avatarUrls" : {
"patternProperties" : {
".+" : {
"type" : "string"
}
},
"type" : "object"
},
"displayName" : {
"type" : "string"
},
"emailAddress" : {
"type" : "string"
},
"key" : {
"type" : "string"
},
"name" : {
"type" : "string"
},
"timeZone" : {
"type" : "string"
}
},
"required" : [
"active"
],
"title" : "User",
"type" : "object"
},
"type" : "array"
},
"voters" : {
"type" : "boolean"
},
"watchers" : {
"type" : "boolean"
}
},
"required" : [
"reporter",
"assignee",
"watchers",
"voters"
],
"title" : "To",
"type" : "object"
}
},
"title" : "Notification",
"type" : "object"
}
}
}
},
"responses" : {
"204" : {
"description" : "Returned if adding to the mail queue was successful"
},
"400" : {
"description" : "Returned if the input is invalid (e.g. missing required fields, invalid values, and so forth)."
},
"403" : {
"description" : "Returned is outgoing emails are disabled OR no SMTP server is defined."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/properties" : {
"get" : {
"description" : "Returns the keys of all properties for the issue identified by the key or by the id.",
"operationId" : "getPropertiesKeys",
"parameters" : [
{
"description" : "the issue from which keys will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"keys" : [
{
"key" : "issue.support",
"self" : "http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support"
}
]
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"keys" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"self" : {
"type" : "string"
}
},
"title" : "Entity Property Key",
"type" : "object"
},
"type" : "array"
}
},
"title" : "Entity Properties Keys",
"type" : "object"
}
}
},
"description" : "Returned if the issue was found."
},
"400" : {
"description" : "Returned if the issue key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to view the issue."
},
"404" : {
"description" : "Returned if the issue with given key or id does not exist or if the property with given key is not found."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/properties//{propertyKey}" : {
"delete" : {
"description" : "Removes the property from the issue identified by the key or by the id. Ths user removing the property is required\n to have permissions to edit the issue.",
"operationId" : "deleteProperty",
"parameters" : [
{
"description" : "the issue from which keys will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the issue from which the property will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the issue property was removed successfully."
},
"400" : {
"description" : "Returned if the issue key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to edit the issue."
},
"404" : {
"description" : "Returned if the issue with given key or id does not exist or if the property with given key is not found."
}
},
"tags" : [
]
},
"get" : {
"description" : "Returns the value of the property with a given key from the issue identified by the key or by the id. The user who retrieves\n the property is required to have permissions to read the issue.",
"operationId" : "getProperty",
"parameters" : [
{
"description" : "the issue from which keys will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the issue from which the property will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : {
"key" : "issue.support",
"value" : {
"hipchat.room.id" : "support-123",
"support.time" : "1m"
}
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"key" : {
"type" : "string"
},
"value" : {
}
},
"title" : "Entity Property",
"type" : "object"
}
}
},
"description" : "Returned if the issue property was found."
},
"400" : {
"description" : "Returned if the issue key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to view the issue."
},
"404" : {
"description" : "Returned if the issue with given key or id does not exist or if the property with given key is not found."
}
},
"tags" : [
]
},
"put" : {
"description" : "Sets the value of the specified issue's property.\n <p>\n You can use this resource to store a custom data against the issue identified by the key or by the id. The user\n who stores the data is required to have permissions to edit the issue.\n </p>",
"operationId" : "setProperty",
"parameters" : [
{
"description" : "the issue from which keys will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the key of the property to return.",
"in" : "path",
"name" : "propertyKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the issue from which the property will be returned.",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"description" : "Returned if the issue property is successfully updated."
},
"201" : {
"description" : "Returned if the issue property is successfully created."
},
"400" : {
"description" : "Returned if the issue key or id is invalid."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to edit the issue."
},
"404" : {
"description" : "Returned if the issue with given key or id does not exist."
}
},
"tags" : [
]
}
},
"/api/2/issue/{issueIdOrKey}/remotelink" : {
"delete" : {
"description" : "Delete the remote issue link with the given global id on the issue.",
"operationId" : "deleteRemoteIssueLinkByGlobalId",
"parameters" : [
{
"description" : "the issue to create the remote issue link for",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "the global id of the remote issue link",
"in" : "query",
"name" : "globalId",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"204" : {
"description" : "Returned if the remote issue link was removed successfully."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to delete the remote issue link, or if issue linking is\n disabled."
},
"404" : {
"description" : "Returned if the issue or remote issue link do not exist."
}
},
"tags" : [
]
},
"get" : {
"description" : "A REST sub-resource representing the remote issue links on the issue.",
"operationId" : "getRemoteIssueLinks",
"parameters" : [
{
"description" : "the issue to create the remote issue link for",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
},
{
"description" : "The id of the remote issue link to be returned. If null (not provided) all remote links for the\n issue are returned.\n <p>For a fullexplanation of Issue Link fields please refer to\n <a href=\"https://developer.atlassian.com/display/JIRADEV/Fields+in+Remote+Issue+Links\">https://developer.atlassian.com/display/JIRADEV/Fields+in+Remote+Issue+Links</a></p>",
"in" : "query",
"name" : "globalId",
"required" : false,
"schema" : {
"type" : "string"
}
}
],
"responses" : {
"200" : {
"content" : {
"application/json" : {
"example" : [
{
"application" : {
"name" : "My Acme Tracker",
"type" : "com.acme.tracker"
},
"globalId" : "system=http://www.mycompany.com/support&id=1",
"id" : 10000,
"object" : {
"icon" : {
"title" : "Support Ticket",
"url16x16" : "http://www.mycompany.com/support/ticket.png"
},
"status" : {
"icon" : {
"link" : "http://www.mycompany.com/support?id=1&details=closed",
"title" : "Case Closed",
"url16x16" : "http://www.mycompany.com/support/resolved.png"
},
"resolved" : true
},
"summary" : "Crazy customer support issue",
"title" : "TSTSUP-111",
"url" : "http://www.mycompany.com/support?id=1"
},
"relationship" : "causes",
"self" : "http://www.example.com/jira/rest/api/issue/MKY-1/remotelink/10000"
},
{
"application" : {
"name" : "My Acme Tester",
"type" : "com.acme.tester"
},
"globalId" : "system=http://www.anothercompany.com/tester&id=1234",
"id" : 10001,
"object" : {
"icon" : {
"title" : "Test Case",
"url16x16" : "http://www.anothercompany.com/tester/images/testcase.gif"
},
"status" : {
"icon" : {
"link" : "http://www.anothercompany.com/tester/person?username=fred",
"title" : "Tested by Fred Jones",
"url16x16" : "http://www.anothercompany.com/tester/images/person/fred.gif"
},
"resolved" : false
},
"summary" : "Test that the submit button saves the thing",
"title" : "Test Case #1234",
"url" : "http://www.anothercompany.com/tester/testcase/1234"
},
"relationship" : "is tested by",
"self" : "http://www.example.com/jira/rest/api/issue/MKY-1/remotelink/10001"
}
],
"schema" : {
"items" : {
"additionalProperties" : false,
"properties" : {
"application" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Application",
"type" : "object"
},
"globalId" : {
"type" : "string"
},
"id" : {
"type" : "integer"
},
"object" : {
"additionalProperties" : false,
"properties" : {
"icon" : {
"$ref" : "#/components/schemas/icon"
},
"status" : {
"additionalProperties" : false,
"properties" : {
"icon" : {
"$ref" : "#/components/schemas/icon"
},
"resolved" : {
"type" : "boolean"
}
},
"title" : "Status",
"type" : "object"
},
"summary" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"url" : {
"type" : "string"
}
},
"title" : "Remote Object",
"type" : "object"
},
"relationship" : {
"type" : "string"
},
"self" : {
"format" : "uri",
"type" : "string"
}
},
"title" : "Remote Issue Link",
"type" : "object"
},
"type" : "array"
}
}
},
"description" : "Information on the remote issue links for the current issue."
},
"401" : {
"description" : "Returned if the calling user is not authenticated."
},
"403" : {
"description" : "Returned if the calling user does not have permission to view the remote issue links, or if issue linking is\n disabled."
},
"404" : {
"description" : "Returned if the issue or remote issue link do not exist."
}
},
"tags" : [
]
},
"post" : {
"description" : "Creates or updates a remote issue link from a JSON representation. If a globalId is provided and a remote issue link\n exists with that globalId, the remote issue link is updated. Otherwise, the remote issue link is created.",
"operationId" : "createOrUpdateRemoteIssueLink",
"parameters" : [
{
"description" : "the issue to create the remote issue link for",
"in" : "path",
"name" : "issueIdOrKey",
"required" : true,
"schema" : {
"type" : "string"
}
}
],
"requestBody" : {
"content" : {
"application/json" : {
"example" : {
"application" : {
"name" : "My Acme Tracker",
"type" : "com.acme.tracker"
},
"globalId" : "system=http://www.mycompany.com/support&id=1",
"object" : {
"icon" : {
"title" : "Support Ticket",
"url16x16" : "http://www.mycompany.com/support/ticket.png"
},
"status" : {
"icon" : {
"link" : "http://www.mycompany.com/support?id=1&details=closed",
"title" : "Case Closed",
"url16x16" : "http://www.mycompany.com/support/resolved.png"
},
"resolved" : true
},
"summary" : "Crazy customer support issue",
"title" : "TSTSUP-111",
"url" : "http://www.mycompany.com/support?id=1"
},
"relationship" : "causes"
},
"schema" : {
"additionalProperties" : false,
"properties" : {
"application" : {
"additionalProperties" : false,
"properties" : {
"name" : {
"type" : "string"
},
"type" : {
"type" : "string"
}
},
"title" : "Application",
"type" : "object"
},
"globalId" : {
"type" : "string"
},
"object" : {
"additionalProperties" : false,
"properties" : {
"icon" : {
"$ref" : "#/components/schemas/icon"
},
"status" : {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment