".to_string(),
xmlns: Some("http://www.w3.org/1999/xhtml".parse().unwrap()),
};
assert_eq!(
format_doc(&doc, &Config::default()),
"This is a [test](https://example.com)".to_string()
);
}
#[test]
fn test_generate_doc_plain() {
let doc = Doc {
title: Some("Foo".to_string()),
lang: None,
content: "This is a test".to_string(),
xmlns: None,
};
assert_eq!(
generate_doc(&doc, 0, &Config::default()),
vec![
"/// # Foo\n".to_string(),
"///\n".to_string(),
"/// This is a test\n".to_string(),
]
);
}
#[test]
fn test_generate_doc_html() {
let doc = Doc {
title: Some("Foo".to_string()),
lang: None,
content: "
This is a test
".to_string(),
xmlns: Some("http://www.w3.org/1999/xhtml".parse().unwrap()),
};
assert_eq!(
generate_doc(&doc, 0, &Config::default()),
vec![
"/// # Foo\n".to_string(),
"///\n".to_string(),
"/// This is a test\n".to_string(),
]
);
}
#[test]
fn test_generate_doc_multiple_lines() {
let doc = Doc {
title: Some("Foo".to_string()),
lang: None,
content: "This is a test\n\nThis is another test".to_string(),
xmlns: None,
};
assert_eq!(
generate_doc(&doc, 0, &Config::default()),
vec![
"/// # Foo\n".to_string(),
"///\n".to_string(),
"/// This is a test\n".to_string(),
"///\n".to_string(),
"/// This is another test\n".to_string(),
]
);
}
fn generate_resource_type_ref_accessors(
field_name: &str,
input: &ResourceTypeRef,
param: &Param,
config: &Config,
) -> Vec {
let mut lines = vec![];
if let Some(id) = input.id() {
let deprecated = config
.deprecated_param
.as_ref()
.map(|x| x(param))
.unwrap_or(false);
if let Some(doc) = param.doc.as_ref() {
lines.extend(generate_doc(doc, 1, config));
}
let field_type = camel_case_name(id);
let mut ret_type = field_type.to_string();
let map_fn = if let Some((map_type, map_fn)) = config
.map_type_for_accessor
.as_ref()
.and_then(|x| x(field_type.as_str()))
{
ret_type = map_type;
Some(map_fn)
} else {
None
};
if !param.required {
ret_type = format!("Option<{}>", ret_type);
}
let accessor_name = if let Some(rename_fn) = config.param_accessor_rename.as_ref() {
rename_fn(param.name.as_str(), ret_type.as_str())
} else {
None
}
.unwrap_or_else(|| field_name.to_string());
let visibility = config
.accessor_visibility
.as_ref()
.and_then(|x| x(accessor_name.as_str(), field_type.as_str()))
.unwrap_or_else(|| "pub".to_string());
if deprecated {
lines.push(" #[deprecated]".to_string());
}
lines.push(format!(
" {}fn {}(&self) -> {} {{\n",
if visibility.is_empty() {
"".to_string()
} else {
format!("{} ", visibility)
},
accessor_name,
ret_type
));
if param.required {
if let Some(map_fn) = map_fn {
lines.push(format!(
" {}({}(self.{}.clone())\n",
map_fn, field_type, field_name
));
} else {
lines.push(format!(
" {}(self.{}.clone())\n",
field_type, field_name
));
}
} else {
lines.push(format!(
" self.{}.as_ref().map(|x| {}(x.clone())){}\n",
field_name,
field_type,
if let Some(map_fn) = map_fn {
format!(".map({})", map_fn)
} else {
"".to_string()
}
));
}
lines.push(" }\n".to_string());
lines.push("\n".to_string());
if deprecated {
lines.push(" #[deprecated]".to_string());
}
lines.push(format!(
" {}fn set_{}(&mut self, value: {}) {{\n",
if visibility.is_empty() {
"".to_string()
} else {
format!("{} ", visibility)
},
accessor_name,
ret_type
));
if param.required {
lines.push(format!(
" self.{} = value.url().clone();\n",
field_name
));
} else {
lines.push(format!(
" self.{} = value.map(|x| x.url().clone());\n",
field_name
));
}
lines.push(" }\n".to_string());
if let Some(extend_accessor) = config.extend_accessor.as_ref() {
lines.extend(extend_accessor(
param,
accessor_name.as_str(),
ret_type.as_str(),
config,
));
}
}
lines
}
fn generate_representation(
input: &RepresentationDef,
config: &Config,
options_names: &HashMap,
) -> Vec {
let mut lines = vec![];
if input.media_type == Some(mime::APPLICATION_JSON) {
lines.extend(generate_representation_struct_json(
input,
config,
options_names,
));
} else {
panic!("Unknown media type: {:?}", input.media_type);
}
let name = input.id.as_ref().unwrap().as_str();
let name = camel_case_name(name);
lines.push(format!("impl {} {{\n", name));
for param in &input.params {
let field_name = snake_case_name(param.name.as_str());
// We expect to support multiple types here in the future
for link in ¶m.links {
if let Some(r) = link.resource_type.as_ref() {
lines.extend(generate_resource_type_ref_accessors(
&field_name,
r,
param,
config,
));
}
}
}
lines.push("}\n".to_string());
lines.push("\n".to_string());
if let Some(generate) = config.generate_representation_traits.as_ref() {
lines.extend(generate(input, name.as_str(), input, config).unwrap_or(vec![]));
}
lines
}
/// Generate the Rust type for a representation
fn resource_type_rust_type(r: &ResourceTypeRef) -> String {
if let Some(id) = r.id() {
camel_case_name(id)
} else {
"url::Url".to_string()
}
}
#[test]
fn test_resource_type_rust_type() {
use std::str::FromStr;
let rt = ResourceTypeRef::from_str("https://api.launchpad.net/1.0/#person").unwrap();
assert_eq!(resource_type_rust_type(&rt), "Person");
}
fn simple_type_rust_type(
container: &ParamContainer,
type_name: &str,
param: &Param,
config: &Config,
) -> (String, Vec) {
let tn = if let Some(override_name) = config.override_type_name.as_ref() {
override_name(container, type_name, param.name.as_str())
} else {
None
};
if let Some(tn) = tn {
return (tn, vec![]);
}
match type_name.split_once(':').map_or(type_name, |(_, n)| n) {
"date" => ("chrono::NaiveDate".to_string(), vec![]),
"dateTime" => ("chrono::DateTime".to_string(), vec![]),
"time" => ("(chrono::Time".to_string(), vec![]),
"int" => ("i32".to_string(), vec![]),
"string" => ("String".to_string(), vec![]),
"binary" => ("Vec".to_string(), vec![]),
u => panic!("Unknown type: {}", u),
}
}
fn param_rust_type(
container: &ParamContainer,
param: &Param,
config: &Config,
resource_type_rust_type: impl Fn(&ResourceTypeRef) -> String,
options_names: &HashMap,
) -> (String, Vec) {
let (mut param_type, annotations) = if !param.links.is_empty() {
if let Some(rt) = param.links[0].resource_type.as_ref() {
let name = resource_type_rust_type(rt);
if let Some(override_type_name) = config
.override_type_name
.as_ref()
.and_then(|x| x(container, name.as_str(), param.name.as_str()))
{
(override_type_name, vec![])
} else {
(name, vec![])
}
} else {
("url::Url".to_string(), vec![])
}
} else if let Some(os) = param.options.as_ref() {
let options_name = options_names.get(os).unwrap_or_else(|| {
panic!("Unknown options {:?} for {}", os, param.name);
});
(options_name.clone(), vec![])
} else {
simple_type_rust_type(container, param.r#type.as_str(), param, config)
};
if param.repeating {
param_type = format!("Vec<{}>", param_type);
}
if !param.required {
param_type = format!("Option<{}>", param_type);
}
(param_type, annotations)
}
#[test]
fn test_param_rust_type() {
use std::str::FromStr;
let rt = ResourceTypeRef::from_str("https://api.launchpad.net/1.0/#person").unwrap();
let mut param = Param {
name: "person".to_string(),
r#type: "string".to_string(),
required: true,
repeating: false,
fixed: None,
doc: None,
options: None,
id: None,
style: ParamStyle::Plain,
path: None,
links: vec![crate::ast::Link {
resource_type: Some(rt),
relation: None,
reverse_relation: None,
doc: None,
}],
};
let method = Method {
docs: vec![],
id: "getPerson".to_string(),
name: "getPerson".to_string(),
request: Request {
docs: vec![],
params: vec![param.clone()],
representations: vec![],
},
responses: vec![Response {
status: None,
docs: vec![],
params: vec![param.clone()],
representations: vec![],
}],
};
let container = ParamContainer::Request(&method, &method.request);
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&HashMap::new(),
);
assert_eq!(param_type, "Person");
param.required = false;
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&HashMap::new(),
);
assert_eq!(param_type, "Option");
param.repeating = true;
param.required = true;
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&HashMap::new(),
);
assert_eq!(param_type, "Vec");
param.repeating = false;
param.r#type = "string".to_string();
param.links = vec![];
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&HashMap::new(),
);
assert_eq!(param_type, "String");
param.r#type = "binary".to_string();
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&HashMap::new(),
);
assert_eq!(param_type, "Vec");
param.r#type = "xsd:date".to_string();
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&HashMap::new(),
);
assert_eq!(param_type, "chrono::NaiveDate");
param.r#type = "string".to_string();
param.options = Some(Options::from(vec!["one".to_string(), "two".to_string()]));
let (param_type, _) = param_rust_type(
&container,
¶m,
&Config::default(),
resource_type_rust_type,
&maplit::hashmap! {
Options::from(vec!["one".to_string(), "two".to_string()]) => "MyOptions".to_string(),
},
);
assert_eq!(param_type, "MyOptions");
}
fn readonly_rust_type(name: &str) -> String {
if name.starts_with("Option<") && name.ends_with('>') {
return format!(
"Option<{}>",
readonly_rust_type(name[7..name.len() - 1].trim())
);
}
match name {
"String" => "&str".to_string(),
x if x.starts_with("Vec<") && x.ends_with('>') => {
format!("&[{}]", x[4..x.len() - 1].trim())
}
x if x.starts_with('*') => x[1..].to_string(),
x => format!("&{}", x),
}
}
#[test]
fn test_readonly_rust_type() {
assert_eq!(readonly_rust_type("String"), "&str");
assert_eq!(readonly_rust_type("Vec"), "&[String]");
assert_eq!(
readonly_rust_type("Option>"),
"Option<&[String]>"
);
assert_eq!(readonly_rust_type("Option"), "Option<&str>");
assert_eq!(readonly_rust_type("usize"), "&usize");
}
fn representation_rust_type(r: &RepresentationRef) -> String {
if let Some(id) = r.id() {
camel_case_name(id)
} else {
"serde_json::Value".to_string()
}
}
fn escape_rust_reserved(name: &str) -> &str {
match name {
"type" => "r#type",
"match" => "r#match",
"move" => "r#move",
"use" => "r#use",
"loop" => "r#loop",
"continue" => "r#continue",
"break" => "r#break",
"fn" => "r#fn",
"struct" => "r#struct",
"enum" => "r#enum",
"trait" => "r#trait",
"impl" => "r#impl",
"pub" => "r#pub",
"as" => "r#as",
"const" => "r#const",
"let" => "r#let",
name => name,
}
}
#[test]
fn test_escape_rust_reserved() {
assert_eq!(escape_rust_reserved("type"), "r#type");
assert_eq!(escape_rust_reserved("match"), "r#match");
assert_eq!(escape_rust_reserved("move"), "r#move");
assert_eq!(escape_rust_reserved("use"), "r#use");
assert_eq!(escape_rust_reserved("loop"), "r#loop");
assert_eq!(escape_rust_reserved("continue"), "r#continue");
assert_eq!(escape_rust_reserved("break"), "r#break");
assert_eq!(escape_rust_reserved("fn"), "r#fn");
assert_eq!(escape_rust_reserved("struct"), "r#struct");
assert_eq!(escape_rust_reserved("enum"), "r#enum");
assert_eq!(escape_rust_reserved("trait"), "r#trait");
assert_eq!(escape_rust_reserved("impl"), "r#impl");
assert_eq!(escape_rust_reserved("pub"), "r#pub");
assert_eq!(escape_rust_reserved("as"), "r#as");
assert_eq!(escape_rust_reserved("const"), "r#const");
assert_eq!(escape_rust_reserved("let"), "r#let");
assert_eq!(escape_rust_reserved("foo"), "foo");
}
#[test]
fn test_representation_rust_type() {
let rt = RepresentationRef::Id("person".to_string());
assert_eq!(representation_rust_type(&rt), "Person");
}
fn generate_representation_struct_json(
input: &RepresentationDef,
config: &Config,
options_names: &HashMap,
) -> Vec {
let mut lines: Vec = vec![];
let name = input.id.as_ref().unwrap().as_str();
let name = camel_case_name(name);
let container = ParamContainer::Representation(input);
for doc in &input.docs {
lines.extend(generate_doc(doc, 0, config));
}
if input.docs.is_empty() {
lines.push(format!(
"/// Representation of the `{}` resource\n",
input.id.as_ref().unwrap()
));
}
let derive_default = input.params.iter().all(|x| !x.required);
lines.push(
"#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]\n".to_string(),
);
let visibility = config
.representation_visibility
.as_ref()
.and_then(|x| x(name.as_str()))
.unwrap_or_else(|| "pub".to_string());
lines.push(format!(
"{}struct {} {{\n",
if visibility.is_empty() {
"".to_string()
} else {
format!("{} ", visibility)
},
name
));
for param in &input.params {
let param_name = snake_case_name(param.name.as_str());
let param_name = escape_rust_reserved(param_name.as_str());
let (param_type, annotations) = param_rust_type(
&container,
param,
config,
|_x| "url::Url".to_string(),
options_names,
);
// We provide accessors for resource types
let is_pub = true;
lines.push(format!(" // was: {}\n", param.r#type));
if let Some(doc) = param.doc.as_ref() {
lines.extend(generate_doc(doc, 1, config));
}
for ann in annotations {
lines.push(format!(" {}\n", ann));
}
lines.push(format!(
" {}{}: {},\n",
if is_pub { "pub " } else { "" },
param_name,
param_type
));
lines.push("\n".to_string());
}
lines.push("}\n".to_string());
if derive_default {
lines.push(format!("impl Default for {} {{\n", name));
lines.push(" fn default() -> Self {\n".to_string());
lines.push(" Self {\n".to_string());
for param in &input.params {
let param_name = snake_case_name(param.name.as_str());
let param_name = escape_rust_reserved(param_name.as_str());
lines.push(format!(" {}: Default::default(),\n", param_name));
}
lines.push(" }\n".to_string());
lines.push(" }\n".to_string());
lines.push("}\n".to_string());
lines.push("\n".to_string());
}
lines.push("\n".to_string());
lines
}
#[test]
fn test_generate_representation() {
let input = RepresentationDef {
media_type: Some("application/json".parse().unwrap()),
element: None,
profile: None,
docs: vec![],
id: Some("person".to_string()),
params: vec![
Param {
name: "name".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Plain,
required: true,
doc: Some(Doc::new("The name of the person".to_string())),
path: None,
id: None,
repeating: false,
fixed: None,
links: vec![],
options: None,
},
Param {
name: "age".to_string(),
r#type: "xs:int".to_string(),
required: true,
doc: Some(Doc::new("The age of the person".to_string())),
style: ParamStyle::Query,
path: None,
id: None,
repeating: false,
fixed: None,
links: vec![],
options: None,
},
],
};
let config = Config::default();
let lines = generate_representation_struct_json(&input, &config, &HashMap::new());
assert_eq!(
lines,
vec![
"/// Representation of the `person` resource\n".to_string(),
"#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]\n"
.to_string(),
"pub struct Person {\n".to_string(),
" // was: string\n".to_string(),
" /// The name of the person\n".to_string(),
" pub name: String,\n".to_string(),
"\n".to_string(),
" // was: xs:int\n".to_string(),
" /// The age of the person\n".to_string(),
" pub age: i32,\n".to_string(),
"\n".to_string(),
"}\n".to_string(),
"\n".to_string(),
]
);
}
fn supported_representation_def(_d: &RepresentationDef) -> bool {
false
}
#[test]
fn test_supported_representation_def() {
let mut d = RepresentationDef::default();
d.media_type = Some(crate::WADL_MIME_TYPE.parse().unwrap());
assert!(!supported_representation_def(&d));
d.media_type = Some(XHTML_MIME_TYPE.parse().unwrap());
assert!(!supported_representation_def(&d));
d.media_type = Some("application/json".parse().unwrap());
assert!(!supported_representation_def(&d));
}
/// Generate the Rust type for a representation
///
/// # Arguments
/// * `input` - The representation to generate the Rust type for
/// * `name` - The name of the representation
///
/// # Returns
///
/// The Rust type for the representation
fn rust_type_for_response(
method: &Method,
input: &Response,
name: &str,
options_names: &HashMap,
) -> String {
let container = ParamContainer::Response(method, input);
let representations = input
.representations
.iter()
.filter(|r| match r {
Representation::Definition(ref d) => supported_representation_def(d),
_ => true,
})
.collect::>();
if representations.len() == 1 {
assert!(input.params.is_empty());
match representations[0] {
Representation::Reference(ref r) => {
let id = r.id().unwrap().to_string();
camel_case_name(id.as_str())
}
Representation::Definition(ref d) => {
assert!(d.params.iter().all(|p| p.style == ParamStyle::Header));
let mut ret = Vec::new();
for param in &input.params {
let (param_type, _annotations) = param_rust_type(
&container,
param,
&Config::default(),
resource_type_rust_type,
options_names,
);
ret.push(param_type);
}
if ret.len() == 1 {
ret[0].clone()
} else {
format!("({})", ret.join(", "))
}
}
}
} else if representations.is_empty() {
let mut ret = Vec::new();
for param in &input.params {
let (param_type, _annotations) = param_rust_type(
&container,
param,
&Config::default(),
resource_type_rust_type,
options_names,
);
ret.push(param_type);
}
if ret.len() == 1 {
ret[0].clone()
} else {
format!("({})", ret.join(", "))
}
} else {
todo!(
"multiple representations for response: {}: {:?}",
name,
representations
);
}
}
#[test]
fn test_rust_type_for_response() {
let mut input = Response {
params: vec![Param {
id: Some("foo".to_string()),
name: "foo".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Header,
doc: None,
required: true,
repeating: false,
fixed: None,
path: None,
links: Vec::new(),
options: None,
}],
..Default::default()
};
let method = Method {
name: "GET".to_string(),
id: "get".to_string(),
docs: Vec::new(),
request: Request::default(),
responses: vec![input.clone()],
};
assert_eq!(
rust_type_for_response(&method, &input, "foo", &HashMap::new()),
"String".to_string()
);
input.params = vec![
Param {
id: Some("foo".to_string()),
name: "foo".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Header,
doc: None,
required: true,
repeating: false,
fixed: None,
path: None,
links: Vec::new(),
options: None,
},
Param {
id: Some("bar".to_string()),
name: "bar".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Header,
doc: None,
required: true,
repeating: false,
fixed: None,
path: None,
links: Vec::new(),
options: None,
},
];
assert_eq!(
rust_type_for_response(&method, &input, "foo", &HashMap::new()),
"(String, String)".to_string()
);
input.params = vec![Param {
id: Some("foo".to_string()),
name: "foo".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Header,
doc: None,
required: true,
repeating: false,
fixed: None,
path: None,
links: vec![Link {
relation: None,
reverse_relation: None,
resource_type: Some("http://example.com/#foo".parse().unwrap()),
doc: None,
}],
options: None,
}];
assert_eq!(
rust_type_for_response(&method, &input, "foo", &HashMap::new()),
"Foo".to_string()
);
input.params = vec![Param {
id: Some("foo".to_string()),
name: "foo".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Header,
doc: None,
required: true,
repeating: false,
fixed: None,
path: None,
links: vec![Link {
relation: None,
reverse_relation: None,
resource_type: Some("http://example.com/#foo".parse().unwrap()),
doc: None,
}],
options: None,
}];
assert_eq!(
rust_type_for_response(&method, &input, "foo", &HashMap::new()),
"Foo".to_string()
);
input.params = vec![Param {
id: None,
name: "foo".to_string(),
r#type: "string".to_string(),
style: ParamStyle::Header,
doc: None,
required: true,
repeating: false,
fixed: None,
options: None,
path: None,
links: vec![Link {
relation: None,
reverse_relation: None,
resource_type: None,
doc: None,
}],
}];
assert_eq!(
rust_type_for_response(&method, &input, "foo", &HashMap::new()),
"url::Url".to_string()
);
}
fn format_arg_doc(name: &str, doc: Option<&crate::ast::Doc>, config: &Config) -> Vec {
let mut lines = Vec::new();
if let Some(doc) = doc.as_ref() {
let doc = format_doc(doc, config);
let mut doc_lines = doc
.trim_start_matches('\n')
.split('\n')
.collect::>()
.into_iter();
lines.push(format!(
" /// * `{}`: {}\n",
name,
doc_lines.next().unwrap().trim_end_matches(' ')
));
for doc_line in doc_lines {
if doc_line.is_empty() {
lines.push(" ///\n".to_string());
} else {
lines.push(format!(" /// {}\n", doc_line.trim_end_matches(' ')));
}
}
} else {
lines.push(format!(" /// * `{}`\n", name));
}
lines
}
#[test]
fn test_format_arg_doc() {
let config = Config::default();
assert_eq!(
format_arg_doc("foo", None, &config),
vec![" /// * `foo`\n".to_string()]
);
assert_eq!(
format_arg_doc("foo", Some(&Doc::new("bar".to_string())), &config),
vec![" /// * `foo`: bar\n".to_string()]
);
assert_eq!(
format_arg_doc("foo", Some(&Doc::new("bar\nbaz".to_string())), &config),
vec![
" /// * `foo`: bar\n".to_string(),
" /// baz\n".to_string()
]
);
assert_eq!(
format_arg_doc("foo", Some(&Doc::new("bar\n\nbaz".to_string())), &config),
vec![
" /// * `foo`: bar\n".to_string(),
" ///\n".to_string(),
" /// baz\n".to_string()
]
);
}
fn apply_map_fn(map_fn: Option<&str>, ret: &str, required: bool) -> String {
if let Some(map_fn) = map_fn {
if required {
if map_fn.starts_with('|') {
format!("({})({})", map_fn, ret)
} else {
format!("{}({})", map_fn, ret)
}
} else {
format!("{}.map({})", ret, map_fn)
}
} else {
ret.to_string()
}
}
#[test]
fn test_apply_map_fn() {
assert_eq!(apply_map_fn(None, "x", true), "x".to_string());
assert_eq!(apply_map_fn(Some("Some"), "x", true), "Some(x)".to_string());
assert_eq!(
apply_map_fn(Some("Some"), "x", false),
"x.map(Some)".to_string()
);
assert_eq!(
apply_map_fn(Some("|y|y+1"), "x", true),
"(|y|y+1)(x)".to_string()
);
assert_eq!(
apply_map_fn(Some("|y|y+1"), "x", false),
"x.map(|y|y+1)".to_string()
);
}
fn serialize_representation_def(
def: &RepresentationDef,
config: &Config,
options_names: &HashMap,
) -> Vec {
let mut lines = vec![];
fn process_param(
param: &Param,
container: &ParamContainer,
config: &Config,
cb: impl Fn(&str, &str, &str) -> String,
options_names: &HashMap,
) -> Vec {
let param_name = escape_rust_reserved(param.name.as_str());
let (param_type, _annotations) = param_rust_type(
&container,
param,
config,
resource_type_rust_type,
options_names,
);
let param_type = readonly_rust_type(¶m_type);
let mut indent = 4;
let mut lines = vec![];
let needs_iter = param_type.starts_with("Vec<") || param_type.starts_with("Option {
lines.push("let mut form = reqwest::blocking::multipart::Form::new();\n".to_string());
for param in def.params.iter() {
lines.extend(process_param(
param,
&container,
config,
|param_type, name, value| {
format!(
"form = form.part(\"{}\", {});",
name,
if let Some(convert_to_multipart) = config
.convert_to_multipart
.as_ref()
.and_then(|x| x(param_type, value))
{
convert_to_multipart
} else {
format!(
"reqwest::blocking::multipart::Part::text({})",
value.strip_prefix('&').unwrap_or(value)
)
}
)
},
options_names,
));
}
lines.push("req = req.multipart(form);\n".to_string());
}
Some("application/x-www-form-urlencoded") => {
lines.push(
"let mut serializer = form_urlencoded::Serializer::new(String::new());\n"
.to_string(),
);
for param in def.params.iter() {
lines.extend(process_param(param, &container, config, |r#type, name, value| {
if r#type.contains("[") {
format!("for value in {} {{ serializer.append_pair(\"{}\", &value.to_string()); }}", value.strip_prefix("&").unwrap().strip_suffix(".to_string()").unwrap(), name)
} else {
format!("serializer.append_pair(\"{}\", {});", name, value)
}
}, options_names));
}
lines.push("req = req.header(reqwest::header::CONTENT_TYPE, \"application/x-www-form-urlencoded\");\n".to_string());
lines.push("req = req.body(serializer.finish());\n".to_string());
}
Some("application/json") => {
lines.push("let mut o = serde_json::Value::Object::new();".to_string());
for param in def.params.iter() {
lines.extend(process_param(
param,
&container,
config,
|_type, name, value| format!("o.insert(\"{}\", {});", name, value),
options_names,
));
}
lines.push("req = req.json(&o);\n".to_string());
}
o => {
panic!("unsupported media type {:?}", o);
}
}
lines
}
fn generate_method(
input: &Method,
parent_id: &str,
config: &Config,
options_names: &HashMap,
) -> Vec {
let mut lines = generate_method_representation(input, parent_id, config, options_names);
for response in input.responses.iter() {
if response.representations.iter().any(|r| {
r.media_type().as_ref().map(|s| s.to_string()).as_deref() == Some(crate::WADL_MIME_TYPE)
}) {
lines.extend(generate_method_wadl(input, parent_id, config))
}
}
lines
}
fn generate_method_wadl(input: &Method, parent_id: &str, _config: &Config) -> Vec {
let mut lines = vec![];
let name = input.id.as_str();
let name = name
.strip_prefix(format!("{}-", parent_id).as_str())
.unwrap_or(name);
let name = snake_case_name(name);
lines.push(format!(" pub fn {}_wadl<'a>(&self, client: &'a dyn wadl::Client) -> std::result::Result {{\n", name));
lines.push(" let mut url_ = self.url().clone();\n".to_string());
for param in input
.request
.params
.iter()
.filter(|p| p.style == ParamStyle::Query)
{
if let Some(fixed) = param.fixed.as_ref() {
assert!(!param.repeating);
lines.push(format!(
" url_.query_pairs_mut().append_pair(\"{}\", \"{}\");\n",
param.name, fixed
));
}
}
lines.push("\n".to_string());
let method = input.name.as_str();
lines.push(format!(
" let mut req = client.request(reqwest::Method::{}, url_);\n",
method
));
lines.push(format!(
" req = req.header(reqwest::header::ACCEPT, \"{}\");\n",
crate::WADL_MIME_TYPE
));
lines.push("\n".to_string());
lines.push(" let wadl: wadl::ast::Application = req.send()?.error_for_status()?.text()?.parse()?;\n".to_string());
lines.push(
" let resource = wadl.get_resource_by_href(self.url()).unwrap();\n".to_string(),
);
lines.push(" Ok(resource.clone())\n".to_string());
lines.push(" }\n".to_string());
lines.push("\n".to_string());
lines
}
fn generate_method_representation(
input: &Method,
parent_id: &str,
config: &Config,
options_names: &HashMap,
) -> Vec {
let mut lines = vec![];
let name = input.id.as_str();
let name = name
.strip_prefix(format!("{}-", parent_id).as_str())
.unwrap_or(name);
let name = snake_case_name(name);
let (ret_type, map_fn) = if input.responses.is_empty() {
("()".to_string(), None)
} else {
assert_eq!(1, input.responses.len(), "expected 1 response for {}", name);
let mut return_type = rust_type_for_response(
&input,
&input.responses[0],
input.id.as_str(),
options_names,
);
let map_fn = if let Some((map_type, map_fn)) = config
.map_type_for_response
.as_ref()
.and_then(|r| r(&name, &return_type))
{
return_type = map_type;
Some(map_fn)
} else {
None
};
(return_type, map_fn)
};
let visibility = config
.method_visibility
.as_ref()
.and_then(|x| x(&name, &ret_type))
.unwrap_or("pub".to_string());
let mut line = format!(
" {}fn {}<'a>(&self, client: &'a dyn wadl::Client",
if visibility.is_empty() {
"".to_string()
} else {
format!("{} ", visibility)
},
name
);
let mut params = input.request.params.iter().collect::>();
params.extend(
input
.request
.representations
.iter()
.filter_map(|r| match r {
Representation::Definition(d) => Some(&d.params),
Representation::Reference(_) => None,
})
.flatten(),
);
for doc in &input.docs {
lines.extend(generate_doc(doc, 1, config));
}
if !params.is_empty() {
lines.push(" /// # Arguments\n".to_string());
}
for representation in &input.request.representations {
match representation {
Representation::Definition(_) => {}
Representation::Reference(r) => {
let id = camel_case_name(r.id().unwrap());
line.push_str(format!(", representation: &{}", id).as_str());
}
}
}
let container = ParamContainer::Request(&input, &input.request);
for param in ¶ms {
if param.fixed.is_some() {
continue;
}
let (param_type, _annotations) = param_rust_type(
&container,
param,
config,
resource_type_rust_type,
options_names,
);
let param_type = readonly_rust_type(param_type.as_str());
let param_name = param.name.clone();
let param_name = escape_rust_reserved(param_name.as_str());
line.push_str(format!(", {}: {}", param_name, param_type).as_str());
lines.extend(format_arg_doc(param_name, param.doc.as_ref(), config));
}
line.push_str(") -> std::result::Result<");
line.push_str(ret_type.as_str());
line.push_str(", Error> {\n");
lines.push(line);
assert!(input
.request
.params
.iter()
.all(|p| [ParamStyle::Header, ParamStyle::Query].contains(&p.style)));
lines.push(" let mut url_ = self.url().clone();\n".to_string());
for param in input
.request
.params
.iter()
.filter(|p| p.style == ParamStyle::Query)
{
if let Some(fixed) = param.fixed.as_ref() {
assert!(!param.repeating);
lines.push(format!(
" url_.query_pairs_mut().append_pair(\"{}\", \"{}\");\n",
param.name, fixed
));
} else {
let param_name = param.name.as_str();
let param_name = snake_case_name(param_name);
let param_name = escape_rust_reserved(param_name.as_str());
let (param_type, _annotations) = param_rust_type(
&container,
param,
config,
resource_type_rust_type,
options_names,
);
let value = if !param.links.is_empty() {
format!("&{}.url().to_string()", param_name)
} else {
format!("&{}.to_string()", param_name)
};
let mut indent = 0;
let needs_iter = param.repeating
|| param_type.starts_with("Vec<")
|| param_type.starts_with("Option 0 {
lines.push(format!("{:indent$} }}\n", "", indent = indent));
indent -= 4;
}
}
}
lines.push("\n".to_string());
let method = input.name.as_str();
lines.push(format!(
" let mut req = client.request(reqwest::Method::{}, url_);\n",
method
));
for representation in &input.request.representations {
match representation {
Representation::Definition(ref d) => {
lines.extend(indent(
2,
serialize_representation_def(d, config, options_names).into_iter(),
));
}
Representation::Reference(_r) => {
// TODO(jelmer): Support non-JSON representations
lines.push(" req = req.json(&representation);\n".to_string());
}
};
}
let response_mime_types = input
.responses
.iter()
.flat_map(|x| {
x.representations.iter().filter_map(|x| match x {
Representation::Definition(ref d) if supported_representation_def(d) => {
d.media_type.clone()
}
Representation::Reference(_) => {
// TODO: Look up media type of reference
Some(mime::APPLICATION_JSON)
}
_ => None,
})
})
.collect::>();
if !response_mime_types.is_empty() {
lines.push(format!(
" req = req.header(reqwest::header::ACCEPT, \"{}\");\n",
response_mime_types
.into_iter()
.map(|x| x.to_string())
.collect::>()
.join(", ")
));
}
for param in params.iter().filter(|p| p.style == ParamStyle::Header) {
let value = if let Some(fixed) = param.fixed.as_ref() {
format!("\"{}\"", fixed)
} else {
let param_name = param.name.as_str();
let param_name = snake_case_name(param_name);
let param_name = escape_rust_reserved(param_name.as_str());
format!("&{}.to_string()", param_name)
};
lines.push(format!(
" req = req.header(\"{}\", {});\n",
param.name, value
));
}
lines.push("\n".to_string());
lines.push(" let resp = req.send()?;\n".to_string());
lines.push(" match resp.status() {\n".to_string());
let serialize_return_types = |return_types: Vec<(String, bool)>| {
if return_types.is_empty() {
"Ok(())".to_string()
} else if return_types.len() == 1 {
format!(
"Ok({})",
apply_map_fn(map_fn.as_deref(), &return_types[0].0, return_types[0].1)
)
} else {
let v = format!(
"({})",
return_types
.iter()
.map(|x| x.0.clone())
.collect::>()
.join(", ")
);
format!("Ok({})", apply_map_fn(map_fn.as_deref(), &v, true))
}
};
for response in input.responses.iter() {
let mut return_types = vec![];
for param in response.params.iter() {
match ¶m.style {
ParamStyle::Header => {
if !param.links.is_empty() {
let r = ¶m.links[0].resource_type.as_ref().unwrap();
if param.required {
return_types.push((
format!(
"{}(resp.headers().get(\"{}\")?.to_str()?.parse().unwrap())",
resource_type_rust_type(r),
param.name
),
true,
));
} else {
return_types.push((format!(
"resp.headers().get(\"{}\").map(|x| {}(x.to_str().unwrap().parse().unwrap()))",
param.name,
resource_type_rust_type(r),
), false));
}
} else {
todo!(
"header param type {:?} for {} in {:?}",
param.r#type,
param.name,
input.id
);
}
}
t => todo!("param style {:?}", t),
}
}
// TODO(jelmer): match on media type
if let Some(status) = response.status {
lines.push(format!(
" s if s.as_u16() == reqwest::StatusCode::{} => {{\n",
status
));
} else {
lines.push(" s if s.is_success() => {\n".to_string());
}
if !response.representations.is_empty() {
lines.push(" let content_type: Option = resp.headers().get(reqwest::header::CONTENT_TYPE).map(|x| x.to_str().unwrap()).map(|x| x.parse().unwrap());\n".to_string());
lines.push(
" match content_type.as_ref().map(|x| x.essence_str()) {\n"
.to_string(),
);
for representation in response.representations.iter() {
let media_type = representation
.media_type()
.unwrap_or(&mime::APPLICATION_JSON);
lines.push(format!(
" Some(\"{}\") => {{\n",
media_type
));
let t = match representation {
Representation::Definition(_) => None,
Representation::Reference(r) => {
let rt = representation_rust_type(r);
Some((format!("resp.json::<{}>()?", rt), true))
}
};
if let Some(t) = t {
let mut return_types = return_types.clone();
return_types.insert(0, t);
lines.push(format!(
" {}\n",
serialize_return_types(return_types)
));
} else {
lines.push(" unimplemented!();\n".to_string());
}
lines.push(" }\n".to_string());
}
lines.push(
" _ => { Err(Error::UnhandledContentType(resp)) }\n".to_string(),
);
lines.push(" }\n".to_string());
} else {
lines.push(format!(
" {}\n",
serialize_return_types(return_types)
));
}
lines.push(" }\n".to_string());
}
if input.responses.is_empty() {
lines.push(" s if s.is_success() => Ok(()),\n".to_string());
}
lines.push(" _ => Err(wadl::Error::UnhandledStatus(resp))\n".to_string());
lines.push(" }\n".to_string());
lines.push(" }\n".to_string());
lines.push("\n".to_string());
if let Some(extend_method) = config.extend_method.as_ref() {
lines.extend(extend_method(parent_id, &name, &ret_type, config));
}
lines
}
#[test]
fn test_generate_method() {
let input = Method {
id: "foo".to_string(),
name: "GET".to_string(),
docs: vec![],
request: Request {
docs: vec![],
params: vec![],
representations: vec![],
},
responses: vec![],
};
let config = Config::default();
let lines = generate_method(&input, "bar", &config, &HashMap::new());
assert_eq!(lines, vec![
" pub fn foo<'a>(&self, client: &'a dyn wadl::Client) -> std::result::Result<(), Error> {\n".to_string(),
" let mut url_ = self.url().clone();\n".to_string(),
"\n".to_string(),
" let mut req = client.request(reqwest::Method::GET, url_);\n".to_string(),
"\n".to_string(),
" let resp = req.send()?;\n".to_string(),
" match resp.status() {\n".to_string(),
" s if s.is_success() => Ok(()),\n".to_string(),
" _ => Err(wadl::Error::UnhandledStatus(resp))\n".to_string(),
" }\n".to_string(),
" }\n".to_string(),
"\n".to_string(),
]);
}
fn generate_resource_type(
input: &ResourceType,
config: &Config,
options_names: &HashMap,
) -> Vec {
let mut lines = vec![];
for doc in &input.docs {
lines.extend(generate_doc(doc, 0, config));
}
let name = input.id.as_str();
let name = camel_case_name(name);
let visibility = config
.resource_type_visibility
.as_ref()
.and_then(|x| x(name.as_str()))
.unwrap_or("pub".to_string());
lines.push(format!(
"{}struct {} (reqwest::Url);\n",
if visibility.is_empty() {
"".to_string()
} else {
format!("{} ", visibility)
},
name
));
lines.push("\n".to_string());
lines.push(format!("impl {} {{\n", name));
for method in &input.methods {
lines.extend(generate_method(
method,
input.id.as_str(),
config,
options_names,
));
}
lines.push("}\n".to_string());
lines.push("\n".to_string());
lines.push(format!("impl Resource for {} {{\n", name));
lines.push(" fn url(&self) -> &reqwest::Url {\n".to_string());
lines.push(" &self.0\n".to_string());
lines.push(" }\n".to_string());
lines.push("}\n".to_string());
lines.push("\n".to_string());
lines
}
#[test]
fn test_generate_resource_type() {
let input = ResourceType {
id: "foo".to_string(),
docs: vec![],
methods: vec![],
query_type: mime::APPLICATION_JSON,
params: vec![],
subresources: vec![],
};
let config = Config::default();
let lines = generate_resource_type(&input, &config, &HashMap::new());
assert_eq!(
lines,
vec![
"pub struct Foo (reqwest::Url);\n".to_string(),
"\n".to_string(),
"impl Foo {\n".to_string(),
"}\n".to_string(),
"\n".to_string(),
"impl Resource for Foo {\n".to_string(),
" fn url(&self) -> &reqwest::Url {\n".to_string(),
" &self.0\n".to_string(),
" }\n".to_string(),
"}\n".to_string(),
"\n".to_string(),
]
);
}
#[derive(Default)]
#[allow(clippy::type_complexity)]
/// Configuration for code generation
pub struct Config {
/// Based on the listed type and name of a parameter, determine the rust type
pub override_type_name: Option Option>>,
/// Support renaming param accessor functions
pub param_accessor_rename: Option Option>>,
/// Whether to strip code examples from the docstrings
///
/// This is useful if the code examples are not valid rust code.
pub strip_code_examples: bool,
/// Generate custom trait implementations for representations
pub generate_representation_traits: Option<
Box Option>>,
>,
/// Return the visibility of a representation
pub representation_visibility: Option Option>>,
/// Return the visibility of a representation accessor
pub accessor_visibility: Option Option>>,
/// Return the visibility of a resource type
pub resource_type_visibility: Option Option>>,
/// Map a method response type to a different type and a function to map the response
pub map_type_for_response: Option Option<(String, String)>>>,
/// Map an accessor function name to a different type
pub map_type_for_accessor: Option Option<(String, String)>>>,
/// Extend the generated accessor
pub extend_accessor: Option Vec>>,
/// Extend the generated method
pub extend_method: Option Vec>>,
/// Retrieve visibility for a method
pub method_visibility: Option Option>>,
/// Return whether a param is deprecated
pub deprecated_param: Option bool>>,
/// Return the name for an enum representation a set of options
///
/// The callback can be used to determine if the name is already taken.
pub options_enum_name: Option bool>) -> String>>,
/// Reformat a docstring; should already be in markdown
pub reformat_docstring: Option String>>,
/// Convert a string to a multipart Part, given a type name and value
pub convert_to_multipart: Option Option>>,
}
fn enum_rust_value(option: &str) -> String {
let name = camel_case_name(option.replace(' ', "-").as_str());
// Now, strip all characters not allowed in rust identifiers
let name = name
.chars()
.filter(|c| c.is_alphanumeric() || *c == '_')
.collect::();
// If the identifier starts with a digit, prefix it with '_' to make it a valid identifier
if name.chars().next().unwrap().is_numeric() {
format!("_{}", name)
} else {
name
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_enum_rust_value() {
assert_eq!(enum_rust_value("foo"), "Foo");
assert_eq!(enum_rust_value("foo bar"), "FooBar");
assert_eq!(enum_rust_value("foo bar blah"), "FooBarBlah");
assert_eq!(enum_rust_value("foo-bar"), "FooBar");
}
}
fn generate_options(name: &str, options: &crate::ast::Options) -> Vec {
let mut lines = vec![];
lines.push("#[derive(Debug, Clone, Copy, PartialEq, Eq, std::hash::Hash, serde::Serialize, serde::Deserialize)]\n".to_string());
lines.push(format!("pub enum {} {{\n", name));
let mut option_map = HashMap::new();
for option in options.keys() {
let rust_name = enum_rust_value(option);
lines.push(format!(" #[serde(rename = \"{}\")]\n", option));
lines.push(format!(" {},\n", rust_name));
option_map.insert(option, rust_name);
}
lines.push("}\n".to_string());
lines.push("\n".to_string());
lines.push(format!("impl std::fmt::Display for {} {{\n", name));
lines.push(
" fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {\n".to_string(),
);
lines.push(" match self {\n".to_string());
for (option, rust_name) in option_map {
lines.push(format!(
" {}::{} => write!(f, \"{}\"),\n",
name, rust_name, option
));
}
lines.push(" }\n".to_string());
lines.push(" }\n".to_string());
lines.push("}\n".to_string());
lines
}
fn options_rust_enum_name(param: &Param, options: &HashMap) -> String {
let mut name = camel_case_name(param.name.as_str());
while options.values().any(|v| v == &name) {
name = format!("{}_", name);
}
name
}
/// Generate code from a WADL application definition.
///
/// This function generates Rust code from a WADL application definition.
/// The generated code includes Rust types for the representations and
/// resource types defined in the WADL application, as well as methods
/// for interacting with the resources.
///
/// # Arguments
/// * `app` - The WADL application definition.
/// * `config` - Configuration for the code generation.
pub fn generate(app: &Application, config: &Config) -> String {
let mut lines = vec![];
let mut options = HashMap::new();
for param in app.iter_all_params() {
if let Some(os) = ¶m.options {
if options.contains_key(os) {
continue;
}
let name = if let Some(enum_name_fn) = config.options_enum_name.as_ref() {
let cb_options = options.clone();
let name = enum_name_fn(
param,
Box::new(move |name: &str| -> bool { cb_options.values().any(|v| v == name) }),
);
let taken = options
.iter()
.filter_map(|(k, v)| if v == &name { Some(k) } else { None })
.collect::>();
if !taken.is_empty() {
panic!(
"Enum name {} is already taken by {:?} ({:?})",
name, taken, options
);
}
name
} else {
options_rust_enum_name(param, &options)
};
let enum_lines = generate_options(name.as_str(), os);
options.insert(os.clone(), name);
lines.extend(enum_lines);
}
}
for doc in &app.docs {
lines.extend(generate_doc(doc, 0, config));
}
for representation in &app.representations {
lines.extend(generate_representation(representation, config, &options));
}
for resource_type in &app.resource_types {
lines.extend(generate_resource_type(resource_type, config, &options));
}
lines.concat()
}
fn indent(indent: usize, lines: impl Iterator) -> impl Iterator {
lines.map(move |line| format!("{}{}", " ".repeat(indent * 4), line))
}
#[test]
fn test_generate_empty() {
let input = crate::ast::Application {
docs: vec![],
representations: vec![],
resource_types: vec![],
resources: vec![],
grammars: vec![],
};
let config = Config::default();
let lines = generate(&input, &config);
assert_eq!(lines, "".to_string());
}
wadl-0.3.2/src/lib.rs 0000644 0000000 0000000 00000007557 10461020230 0012476 0 ustar 0000000 0000000 #![deny(missing_docs)]
//! # WADL
//!
//! A crate for parsing WADL files and generating Rust code from them.
pub mod ast;
#[cfg(feature = "codegen")]
pub mod codegen;
mod parse;
/// The MIME type of WADL files.
pub const WADL_MIME_TYPE: &str = "application/vnd.sun.wadl+xml";
pub use parse::{parse, parse_bytes, parse_file, parse_string, Error as ParseError};
use url::Url;
/// The root of the web service.
pub trait Resource {
/// The URL of the resource
fn url(&self) -> &Url;
}
/// A client for a WADL API
pub trait Client {
/// Create a new request builder
fn request(&self, method: reqwest::Method, url: url::Url) -> reqwest::blocking::RequestBuilder;
}
impl Client for reqwest::blocking::Client {
fn request(&self, method: reqwest::Method, url: url::Url) -> reqwest::blocking::RequestBuilder {
self.request(method, url)
}
}
#[derive(Debug)]
/// The error type for this crate.
pub enum Error {
/// The URL is invalid.
InvalidUrl,
/// A reqwest error occurred.
Reqwest(reqwest::Error),
/// The URL could not be parsed.
Url(url::ParseError),
/// The JSON could not be parsed.
Json(serde_json::Error),
/// The WADL could not be parsed.
Wadl(ParseError),
/// The response status was not handled by the library.
UnhandledStatus(reqwest::blocking::Response),
/// The response content type was not handled by the library.
UnhandledContentType(reqwest::blocking::Response),
/// An I/O error occurred.
Io(std::io::Error),
}
impl From for Error {
fn from(err: std::io::Error) -> Self {
Error::Io(err)
}
}
impl From for Error {
fn from(err: serde_json::Error) -> Self {
Error::Json(err)
}
}
impl std::fmt::Display for Error {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Error::InvalidUrl => write!(f, "Invalid URL"),
Error::Reqwest(err) => write!(f, "Reqwest error: {}", err),
Error::Url(err) => write!(f, "URL error: {}", err),
Error::Json(err) => write!(f, "JSON error: {}", err),
Error::Wadl(err) => write!(f, "WADL error: {}", err),
Error::UnhandledStatus(res) => write!(
f,
"Unhandled response. Code: {}, response type: {}",
res.status(),
res.headers()
.get("content-type")
.unwrap_or(&reqwest::header::HeaderValue::from_static("unknown"))
.to_str()
.unwrap_or("unknown")
),
Error::UnhandledContentType(res) => write!(
f,
"Unhandled response content type: {}",
res.headers()
.get("content-type")
.unwrap_or(&reqwest::header::HeaderValue::from_static("unknown"))
.to_str()
.unwrap_or("unknown")
),
Error::Io(err) => write!(f, "IO error: {}", err),
}
}
}
impl std::error::Error for Error {}
impl From for Error {
fn from(err: reqwest::Error) -> Self {
Error::Reqwest(err)
}
}
impl From for Error {
fn from(err: url::ParseError) -> Self {
Error::Url(err)
}
}
impl From for Error {
fn from(err: ParseError) -> Self {
Error::Wadl(err)
}
}
/// Get the WADL AST from a URL.
pub fn get_wadl_resource_by_href(
client: &dyn Client,
href: &url::Url,
) -> Result {
let mut req = client.request(reqwest::Method::GET, href.clone());
req = req.header(reqwest::header::ACCEPT, WADL_MIME_TYPE);
let res = req.send()?;
let text = res.text()?;
let application = parse_string(&text)?;
let resource = application.get_resource_by_href(href).unwrap();
Ok(resource.clone())
}
wadl-0.3.2/src/parse.rs 0000644 0000000 0000000 00000075656 10461020230 0013047 0 ustar 0000000 0000000 use crate::ast::*;
use iri_string::spec::IriSpec;
use iri_string::types::RiReferenceString;
use std::io::Read;
use xmltree::Element;
#[allow(unused)]
/// The namespace of the WADL XML schema.
pub const WADL_NS: &str = "http://wadl.dev.java.net/2009/02";
#[derive(Debug)]
/// Errors that can occur while parsing a WADL document.
pub enum Error {
/// An I/O error occurred while reading the document.
Io(std::io::Error),
/// An error occurred while parsing the XML document.
Xml(xmltree::ParseError),
/// An error occurred while parsing a URL.
Url(url::ParseError),
/// An error occurred while parsing a MIME type.
Mime(mime::FromStrError),
}
impl From for Error {
fn from(e: std::io::Error) -> Self {
Error::Io(e)
}
}
impl From for Error {
fn from(e: xmltree::ParseError) -> Self {
Error::Xml(e)
}
}
impl From for Error {
fn from(e: url::ParseError) -> Self {
Error::Url(e)
}
}
impl From for Error {
fn from(e: mime::FromStrError) -> Self {
Error::Mime(e)
}
}
impl std::fmt::Display for Error {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match &self {
Error::Io(e) => write!(f, "IO error: {}", e),
Error::Xml(e) => write!(f, "XML error: {}", e),
Error::Url(e) => write!(f, "URL error: {}", e),
Error::Mime(e) => write!(f, "MIME error: {}", e),
}
}
}
impl std::error::Error for Error {}
pub fn parse_options(element: &Element) -> Option {
let mut options = Options::new();
for option_node in &element.children {
if let Some(element) = option_node.as_element() {
if element.name == "option" {
let value = element.attributes.get("value").cloned();
let media_type = element
.attributes
.get("mediaType")
.cloned()
.map(|x| x.parse().unwrap());
options.insert(value.unwrap(), media_type);
}
}
}
if options.is_empty() {
None
} else {
Some(options)
}
}
#[test]
fn test_parse_options() {
let xml = r#"
"#;
let element = Element::parse(xml.as_bytes()).unwrap();
let options = parse_options(&element).unwrap();
assert_eq!(options.len(), 2);
assert_eq!(
options.get("json").unwrap(),
&Some("application/json".parse().unwrap())
);
assert_eq!(
options.get("xml").unwrap(),
&Some("application/xml".parse().unwrap())
);
}
/// Parse a `param` element.
pub fn parse_params(resource_element: &Element, allowed_styles: &[ParamStyle]) -> Vec {
let mut params = Vec::new();
for param_node in &resource_element.children {
if let Some(element) = param_node.as_element() {
if element.name == "param" {
let style = element
.attributes
.get("style")
.cloned()
.map(|s| match s.as_str() {
"plain" => ParamStyle::Plain,
"matrix" => ParamStyle::Matrix,
"query" => ParamStyle::Query,
"header" => ParamStyle::Header,
"template" => ParamStyle::Template,
_ => panic!("Unknown param style: {}", s),
})
.unwrap();
let options = parse_options(element);
let id = element.attributes.get("id").cloned();
let links = element
.children
.iter()
.filter_map(|node| {
if let Some(element) = node.as_element() {
if element.name == "link" {
let resource_type: Option = element
.attributes
.get("resource_type")
.map(|x| x.parse().unwrap());
let relation = element.attributes.get("rel").cloned();
let reverse_relation = element.attributes.get("rev").cloned();
let doc = parse_docs(element);
Some(Link {
resource_type,
relation,
reverse_relation,
doc: if doc.len() == 1 {
Some(doc.into_iter().next().unwrap())
} else {
assert!(doc.is_empty());
None
},
})
} else {
None
}
} else {
None
}
})
.collect::>();
let name = element.attributes.get("name").cloned().unwrap();
let r#type = element
.attributes
.get("type")
.cloned()
.unwrap_or_else(|| "string".to_string());
let path = element.attributes.get("path").cloned();
let required = element
.attributes
.get("required")
.cloned()
.map(|s| s == "true")
.unwrap_or(false);
let repeating = element
.attributes
.get("repeating")
.cloned()
.map(|s| s == "true")
.unwrap_or(false);
let fixed = element.attributes.get("fixed").cloned();
if !allowed_styles.contains(&style) {
log::warn!(
"Invalid param style: {:?} for element {} (expected one of: {:?})",
style,
name,
allowed_styles
);
}
let doc = parse_docs(element);
params.push(Param {
style,
id,
name,
r#type,
path,
required,
repeating,
fixed,
links,
options,
doc: if doc.len() == 1 {
Some(doc.into_iter().next().unwrap())
} else {
assert!(doc.is_empty());
None
},
});
}
}
}
params
}
fn parse_resource(element: &Element) -> Result {
let id = element.attributes.get("id").cloned();
let path = element.attributes.get("path").cloned();
let r#type = element
.attributes
.get("type")
.map(|s| s.as_str())
.unwrap_or("")
.split(' ')
.map(|x| {
x.parse::()
.expect("cannot parse to Resource Ref")
})
.collect();
let query_type: mime::Mime = element
.attributes
.get("queryType")
.map(|s| s.as_str().parse())
.transpose()?
.unwrap_or(mime::APPLICATION_WWW_FORM_URLENCODED);
let docs = parse_docs(element);
let methods = parse_methods(element);
let subresources = parse_resources(element)?;
let params = parse_params(
element,
&[
ParamStyle::Matrix,
ParamStyle::Query,
ParamStyle::Header,
ParamStyle::Template,
],
);
Ok(Resource {
id,
path,
r#type,
query_type,
methods,
docs,
subresources,
params,
})
}
#[test]
fn test_parse_resource() {
let xml = r#"
Resource Description
Param Description
Bar
Get Foo
Foo
Foo
Bar
Get Bar
Bar
Bar
"#;
let element = Element::parse(xml.as_bytes()).unwrap();
let resource = parse_resource(&element).unwrap();
assert_eq!(resource.id, Some("foo".to_string()));
assert_eq!(resource.path, Some("/blah".to_string()));
assert_eq!(resource.query_type, mime::APPLICATION_WWW_FORM_URLENCODED);
assert_eq!(resource.docs.len(), 1);
}
fn parse_resources(resources_element: &Element) -> Result, Error> {
let mut resources = Vec::new();
for resource_node in &resources_element.children {
if let Some(element) = resource_node.as_element() {
if element.name == "resource" {
resources.push(parse_resource(element)?);
}
}
}
Ok(resources)
}
#[test]
fn test_parse_resources() {
let xml = r#"
Resource Description
Param Description
Bar
Get Foo
Foo
Foo
Bar
Get Bar
Bar
Bar
"#;
let element = Element::parse(xml.as_bytes()).unwrap();
let resources = parse_resources(&element).unwrap();
assert_eq!(resources.len(), 1);
let resource = &resources[0];
assert_eq!(resource.id, Some("foo".to_string()));
assert_eq!(resource.path, Some("/blah".to_string()));
assert_eq!(resource.query_type, mime::APPLICATION_WWW_FORM_URLENCODED);
assert_eq!(resource.docs.len(), 1);
}
fn parse_docs(resource_element: &Element) -> Vec {
let mut docs = Vec::new();
for doc_node in &resource_element.children {
if let Some(element) = doc_node.as_element() {
if element.name == "doc" {
let title = element.attributes.get("title").cloned();
use std::io::Write;
let content = Vec::new();
let mut cursor = std::io::Cursor::new(content);
for child in &element.children {
match child {
xmltree::XMLNode::Text(t) => {
cursor.write_all(t.as_bytes()).unwrap();
}
xmltree::XMLNode::Element(e) => {
e.write(&mut cursor).unwrap();
}
_ => {}
};
}
let lang = element.attributes.get("lang").cloned();
let namespaces = element.namespaces.as_ref();
let xmlns = namespaces
.and_then(|x| x.get(""))
.filter(|s| !s.is_empty())
.map(|u| {
u.parse()
.map_err(|e| {
format!("Cannot parse string \"{}\" to Url with error {}", u, e)
})
.expect("provided string should be successfully parsed to Url")
});
docs.push(Doc {
title,
lang,
content: String::from_utf8_lossy(cursor.into_inner().as_slice()).to_string(),
xmlns,
});
}
}
}
docs
}
fn parse_resource_type(resource_type_element: &Element) -> Result {
let id = resource_type_element.attributes.get("id").cloned().unwrap();
let query_type: mime::Mime = resource_type_element
.attributes
.get("queryType")
.cloned()
.unwrap_or("application/x-www-form-urlencoded".to_string())
.parse()?;
let docs = parse_docs(resource_type_element);
let methods = parse_methods(resource_type_element);
let subresources = parse_resources(resource_type_element)?;
let params = parse_params(
resource_type_element,
&[ParamStyle::Header, ParamStyle::Query],
);
Ok(ResourceType {
id,
query_type,
methods,
docs,
subresources,
params,
})
}
/// Parse an XML application description from a reader.
pub fn parse(reader: R) -> Result {
let mut resources = Vec::new();
let mut resource_types = Vec::new();
let mut grammars = Vec::new();
let root = Element::parse(reader).map_err(Error::Xml)?;
let docs = parse_docs(&root);
for resource_node in &root.children {
if let Some(element) = resource_node.as_element() {
if element.name == "resources" {
let more_resources = parse_resources(element)?;
let base = element.attributes.get("base").cloned();
resources.push(Resources {
base: base.map(|s| s.parse().unwrap()),
resources: more_resources,
});
} else if element.name == "grammars" {
for grammar_node in &element.children {
if let Some(element) = grammar_node.as_element() {
if element.name == "include" {
let href: RiReferenceString = element
.attributes
.get("href")
.cloned()
.expect("href attribute is required")
.parse::>()
.expect("cannot parse to Iri");
grammars.push(Grammar { href });
}
}
}
} else if element.name == "resource_type" {
resource_types.push(parse_resource_type(element)?);
}
}
}
let representations = parse_representations(&root);
Ok(Application {
resources,
docs,
resource_types,
grammars,
representations: representations
.into_iter()
.map(|r| match r {
Representation::Definition(r) => r,
Representation::Reference(_) => panic!("Reference in root"),
})
.collect(),
})
}
/// Parse an XML application description from a file.
pub fn parse_file>(path: P) -> Result {
let file = std::fs::File::open(path).map_err(Error::Io)?;
parse(file)
}
/// Parse a string containing an XML application description.
pub fn parse_string(s: &str) -> Result {
parse(s.as_bytes())
}
/// Parse a byte slice containing an XML application description.
pub fn parse_bytes(bytes: &[u8]) -> Result {
parse(bytes)
}
fn parse_representations(request_element: &Element) -> Vec {
let mut representations = Vec::new();
for representation_node in &request_element.children {
if let Some(element) = representation_node.as_element() {
if element.name == "representation" {
if let Some(href) = element.attributes.get("href") {
if let Some(id) = href.strip_prefix('#') {
representations.push(Representation::Reference(RepresentationRef::Id(
id.to_string(),
)));
} else {
representations.push(Representation::Reference(RepresentationRef::Link(
href.parse().expect("Invalid URL"),
)));
}
} else {
let element_name = element.attributes.get("element").cloned();
let media_type = element
.attributes
.get("mediaType")
.map(|s| s.parse().unwrap());
let docs = parse_docs(element);
let id = element.attributes.get("id").cloned();
let profile = element.attributes.get("profile").cloned();
let params = parse_params(element, &[ParamStyle::Plain, ParamStyle::Query]);
representations.push(Representation::Definition(RepresentationDef {
id,
media_type,
docs,
element: element_name,
profile,
params,
}));
}
}
}
}
representations
}
#[test]
fn test_parse_representations() {
let xml = r#"FooFooBar
"#;
let root = Element::parse(xml.as_bytes()).unwrap();
let representations = parse_representations(&root);
assert_eq!(representations.len(), 3);
if let Representation::Definition(r) = &representations[0] {
assert_eq!(r.id, Some("foo".to_string()));
assert_eq!(r.media_type, Some("application/json".parse().unwrap()));
assert_eq!(r.docs.len(), 1);
assert_eq!(r.docs[0].content, "Foo");
assert_eq!(r.docs[0].lang, Some("en".to_string()));
assert_eq!(r.params.len(), 2);
assert_eq!(r.params[0].name, "foo");
assert_eq!(r.params[0].style, ParamStyle::Plain);
assert!(r.params[0].required);
assert_eq!(r.params[0].fixed, Some("baz".to_string()));
assert_eq!(r.params[0].doc.as_ref().unwrap().content, "Foo");
assert_eq!(
r.params[0].doc.as_ref().unwrap().lang,
Some("en".to_string())
);
assert_eq!(r.params[1].name, "bar");
assert_eq!(r.params[1].style, ParamStyle::Query);
assert!(r.params[1].required);
assert_eq!(r.params[1].fixed, Some("baz".to_string()));
}
}
fn parse_response(response_element: &Element) -> Response {
let docs = parse_docs(response_element);
let representations = parse_representations(response_element);
let status = response_element
.attributes
.get("status")
.filter(|s| !s.is_empty())
.map(|s| {
s.parse::()
.map_err(|e| format!("Cannot parse String \"{}\" into status code. {}", s, e))
.expect("should parse status code from string")
});
let params = parse_params(response_element, &[ParamStyle::Header]);
Response {
docs,
params,
status,
representations,
}
}
#[test]
fn test_parses_response() {
let xml = r#"
FooBarBaz
"#;
let element = Element::parse(xml.as_bytes()).unwrap();
let response = parse_response(&element);
assert_eq!(response.status, Some(200));
assert_eq!(response.representations.len(), 5);
}
fn parse_request(request_element: &Element) -> Request {
let docs = parse_docs(request_element);
let params = parse_params(request_element, &[ParamStyle::Header, ParamStyle::Query]);
let representations = parse_representations(request_element);
Request {
docs,
params,
representations,
}
}
#[test]
fn test_parse_request() {
let xml = r#"
FooBarBazFoo
"#;
let element = Element::parse(xml.as_bytes()).unwrap();
let request = parse_request(&element);
assert_eq!(request.docs.len(), 0);
assert_eq!(request.params.len(), 3);
assert_eq!(request.representations.len(), 2);
}
fn parse_method(method_element: &Element) -> Method {
let id = method_element
.attributes
.get("id")
.cloned()
.unwrap_or_default();
let name = method_element
.attributes
.get("name")
.cloned()
.unwrap_or_default();
let request_element = method_element
.children
.iter()
.find(|node| node.as_element().map_or(false, |e| e.name == "request"))
.and_then(|node| node.as_element());
let request = request_element.map(parse_request).unwrap_or_default();
let responses = method_element
.children
.iter()
.filter(|node| node.as_element().map_or(false, |e| e.name == "response"))
.map(|node| node.as_element().unwrap())
.map(parse_response)
.collect();
let docs = parse_docs(method_element);
Method {
id,
name,
docs,
request,
responses,
}
}
#[test]
fn test_parse_method() {
let xml = r#"
Get a list of all the widgetsFilter the list of widgetsFilter the list of widgetsReturn a list of widgetsReturn a list of widgetsReturn a list of widgetsReturn a list of widgets
"#;
let method = parse_method(&Element::parse(xml.as_bytes()).unwrap());
assert_eq!(method.id, "");
assert_eq!(method.name, "GET");
assert_eq!(
method.docs,
vec![Doc {
content: "Get a list of all the widgets".to_string(),
..Default::default()
}]
);
assert_eq!(
method.request.docs,
vec![Doc {
content: "Filter the list of widgets".to_string(),
..Default::default()
}]
);
assert_eq!(method.request.params.len(), 1);
assert_eq!(method.request.params[0].name, "filter");
assert_eq!(
method.request.params[0].doc.as_ref().unwrap(),
&Doc {
content: "Filter the list of widgets".to_string(),
..Default::default()
}
);
assert_eq!(method.responses.len(), 1);
assert_eq!(
method.responses[0].docs,
vec![Doc {
content: "Return a list of widgets".to_string(),
..Default::default()
}]
);
assert_eq!(method.responses[0].status, Some(200));
assert_eq!(method.responses[0].representations.len(), 1);
assert_eq!(
method.responses[0].representations[0]
.as_def()
.unwrap()
.media_type,
Some("application/json".parse().unwrap())
);
assert_eq!(method.responses[0].params.len(), 2);
}
fn parse_methods(resource_element: &Element) -> Vec {
let mut methods = Vec::new();
for method_node in &resource_element.children {
if let Some(element) = method_node.as_element() {
if element.name == "method" {
methods.push(parse_method(element));
}
}
}
methods
}
#[test]
fn test_parse_methods() {
let xml = r#"
Get a list of all the widgetsFilter the list of widgetsFilter the list of widgetsReturn a list of widgetsReturn a list of widgetsReturn a list of widgetsReturn a list of widgets
"#;
let methods = parse_methods(&Element::parse(xml.as_bytes()).unwrap());
assert_eq!(methods.len(), 1);
assert_eq!(methods[0].id, "");
assert_eq!(methods[0].name, "GET");
assert_eq!(
methods[0].docs,
vec![Doc {
content: "Get a list of all the widgets".to_string(),
..Default::default()
}]
);
assert_eq!(
methods[0].request.docs,
vec![Doc {
content: "Filter the list of widgets".to_string(),
..Default::default()
}]
);
assert_eq!(methods[0].request.params.len(), 1);
assert_eq!(methods[0].request.params[0].name, "filter");
assert_eq!(
methods[0].request.params[0].doc.as_ref().unwrap(),
&Doc {
content: "Filter the list of widgets".to_string(),
..Default::default()
}
);
assert_eq!(methods[0].responses.len(), 1);
assert_eq!(
methods[0].responses[0].docs,
vec![Doc {
content: "Return a list of widgets".to_string(),
..Default::default()
}]
);
}
wadl-0.3.2/tests/fish-eye-wadl.xml 0000644 0000000 0000000 00000143422 10461020230 0015105 0 ustar 0000000 0000000
This is the reference section of the FishEye REST API.
For information about FishEye Plugin Development, visit the
Development Hub.
This documentation was automatically generated from the WADL.
Provides an API to get a list of changesets from a repository.List of changesets from a repository.the key of the repositoryrepository pathID of the committercomment to matchPerforce option to select the changesets marked as fixingexpand query parameter to specify the maximum number of resultsparent of the changesetslist of changesets matching the criteriaExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<results>
<changesets>
<changeset>
<repositoryName>repo1</repositoryName>
<csid>csid1</csid>
<date>2017-11-27T14:12:31.231Z</date>
<author>author1</author>
<branch>branch1</branch>
<comment>merge</comment>
<p4JobIds>p4job1</p4JobIds>
<p4JobIds>p4job2</p4JobIds>
<revisions size="1">
<revision totalLines="10" fileRevisionState="ADDED" rev="rev123456" path="/path/to/file.txt" linesRemoved="2" linesAdded="2" date="2017-11-27T14:12:31.230Z" csid="csid" contentLink="contentLink" author="author1">
<ancestor>ancestor1</ancestor>
<ancestor>ancestor2</ancestor>
<comment>merged</comment>
</revision>
</revisions>
<reviews size="1">
<review>
<metricsVersion>0</metricsVersion>
<permaId/>
</review>
</reviews>
</changeset>
</changesets>
</results>
list of changesets matching the criterialist of changesets matching the criteriaExample{
"changesets" : {
"changeset" : [ {
"repositoryName" : "repo1",
"csid" : "csid1",
"date" : 1511791951231,
"author" : "author1",
"branch" : "branch1",
"comment" : "merge",
"p4JobIds" : [ "p4job1", "p4job2" ],
"revisions" : {
"size" : 1,
"revision" : [ {
"path" : "/path/to/file.txt",
"rev" : "rev123456",
"author" : "author1",
"date" : 1511791951230,
"totalLines" : 10,
"linesAdded" : 2,
"linesRemoved" : 2,
"csid" : "csid",
"comment" : "merged",
"contentLink" : "contentLink",
"ancestor" : [ "ancestor1", "ancestor2" ],
"fileRevisionState" : "ADDED"
} ]
},
"reviews" : {
"size" : 1,
"review" : [ {
"permaId" : { },
"metricsVersion" : 0
} ]
}
} ]
}
}list of changesets matching the criteriaProvides an API to list information about the repositories.List all the repositories.a list of all the repositoriesExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<repositoryList>
<repository repositoryState="RUNNING" name="svn-repo" finishedFullSlurp="true" enabled="true" displayName="svn-repo-renamed"/>
<repository repositoryState="STOPPED" name="hg-repo" finishedFullSlurp="true" enabled="false" displayName="hg-repo"/>
</repositoryList>
Sample list of repositories registered to a FishEye instance.a list of all the repositoriesExample{
"repository" : [ {
"name" : "svn-repo",
"displayName" : "svn-repo-renamed",
"enabled" : true,
"finishedFullSlurp" : true,
"url" : "com.sample.project",
"path" : "project",
"repositoryState" : "RUNNING"
}, {
"name" : "hg-repo",
"displayName" : "hg-repo",
"enabled" : false,
"finishedFullSlurp" : true,
"location" : "/home/user/project/hg",
"repositoryState" : "STOPPED"
} ]
}Sample list of repositories registered to a FishEye instance.the key of the repositoryGet the information about a repository.information about the repositoryExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<repository repositoryState="RUNNING" name="svn-repo" finishedFullSlurp="true" enabled="true" displayName="svn-repo-renamed">
<path>project</path>
<url>com.sample.project</url>
</repository>
Sample information about a repository.information about the repositoryExample{
"name" : "svn-repo",
"displayName" : "svn-repo-renamed",
"enabled" : true,
"finishedFullSlurp" : true,
"url" : "com.sample.project",
"path" : "project",
"repositoryState" : "RUNNING"
}Sample information about a repository.Provides an API for getting information about changesets and filerevisions indexed by fisheye.the key of the repository to query.Get a list of the file revisions for a specific path.the path to query.a list of the filerevisions of this path.Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fileRevisionList>
<fileRevision totalLines="30" fileRevisionState="ADDED" rev="1" path="trunk/readme.txt" linesRemoved="0" linesAdded="30" date="2017-11-27T14:12:31.329Z" csid="MAIN:peter:2010000" contentLink="" author="peter">
<comment>added readme</comment>
</fileRevision>
<fileRevision totalLines="42" fileRevisionState="CHANGED" rev="2" path="trunk/readme.txt" linesRemoved="0" linesAdded="12" date="2017-11-27T14:12:31.329Z" csid="MAIN:douglas:2010042" contentLink="" author="douglas">
<ancestor>1</ancestor>
<comment>first revision</comment>
</fileRevision>
<fileRevision totalLines="451" fileRevisionState="CHANGED" rev="3" path="trunk/readme.txt" linesRemoved="0" linesAdded="409" date="2017-11-27T14:12:31.329Z" csid="MAIN:ray:2010451" contentLink="" author="ray">
<ancestor>2</ancestor>
<comment>second revision</comment>
</fileRevision>
</fileRevisionList>
A list of the filerevisions of a path.a list of the filerevisions of this path.Example{
"fileRevision" : [ {
"path" : "trunk/readme.txt",
"rev" : "1",
"author" : "peter",
"date" : 1511791951329,
"totalLines" : 30,
"linesAdded" : 30,
"linesRemoved" : 0,
"csid" : "MAIN:peter:2010000",
"comment" : "added readme",
"contentLink" : "",
"ancestor" : [ ],
"fileRevisionState" : "ADDED"
}, {
"path" : "trunk/readme.txt",
"rev" : "2",
"author" : "douglas",
"date" : 1511791951329,
"totalLines" : 42,
"linesAdded" : 12,
"linesRemoved" : 0,
"csid" : "MAIN:douglas:2010042",
"comment" : "first revision",
"contentLink" : "",
"ancestor" : [ "1" ],
"fileRevisionState" : "CHANGED"
}, {
"path" : "trunk/readme.txt",
"rev" : "3",
"author" : "ray",
"date" : 1511791951329,
"totalLines" : 451,
"linesAdded" : 409,
"linesRemoved" : 0,
"csid" : "MAIN:ray:2010451",
"comment" : "second revision",
"contentLink" : "",
"ancestor" : [ "2" ],
"fileRevisionState" : "CHANGED"
} ]
}A list of the filerevisions of a path.the key of the repository to query.the path of the filerevision, with respect to the fisheye repository root.the id of the filerevision to retrieve.a list of tags associated with this revision.Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tagList>
<tag>TAG1</tag>
<tag>TAG2</tag>
<tag>TAG3</tag>
</tagList>
A list of tags associated with this revision.a list of tags associated with this revision.Example{
"tag" : [ "TAG1", "TAG2", "TAG3" ]
}A list of tags associated with this revision.the key of the repository to query.Get a list of information about files and directories in a path.the path to query, with respect to the fisheye repository root.a list information about files and directories in the path.Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pathList>
<pathInfo name="branches" headDeleted="false" dir="true"/>
<pathInfo name="tags" headDeleted="false" dir="true"/>
<pathInfo name="trunk" headDeleted="false" dir="true"/>
</pathList>
A list of information about files and directories in the path.a list information about files and directories in the path.Example{
"pathInfo" : [ {
"name" : "branches",
"dir" : true,
"headDeleted" : false
}, {
"name" : "tags",
"dir" : true,
"headDeleted" : false
}, {
"name" : "trunk",
"dir" : true,
"headDeleted" : false
} ]
}A list of information about files and directories in the path.the key of the repository to query.the path of the filerevision, with respect to the fisheye repository root.the id of the filerevision to retrieve.infomation about the specified filerevision.Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fileRevision totalLines="451" fileRevisionState="CHANGED" rev="3" path="trunk/readme.txt" linesRemoved="0" linesAdded="409" date="2017-11-27T14:12:31.329Z" csid="MAIN:ray:2010451" contentLink="" author="ray">
<ancestor>2</ancestor>
<comment>second revision</comment>
</fileRevision>
Information about the specified filerevision.infomation about the specified filerevision.Example{
"path" : "trunk/readme.txt",
"rev" : "3",
"author" : "ray",
"date" : 1511791951329,
"totalLines" : 451,
"linesAdded" : 409,
"linesRemoved" : 0,
"csid" : "MAIN:ray:2010451",
"comment" : "second revision",
"contentLink" : "",
"ancestor" : [ "2" ],
"fileRevisionState" : "CHANGED"
}Information about the specified filerevision.the key of the repository to query.Get a list of changesets on a repository.restrict the changesets to those in this path, should be "/" to look at the whole repository.only return changesets after this date.only return changesets before this date.the maximum number of changesets to return.the list of changeset ids, and the value of maxReturn (the limit to the number of changesets to return).Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<changesetIdList resultsTruncated="false">
<csid>MAIN:peter:20100101000000</csid>
<csid>MAIN:douglas:20100101000042</csid>
<csid>MAIN:ray:20100101000451</csid>
</changesetIdList>
A list of changesets on a repository.the list of changeset ids, and the value of maxReturn (the limit to the number of changesets to return).Example{
"resultsTruncated" : false,
"csid" : [ "MAIN:peter:20100101000000", "MAIN:douglas:20100101000042", "MAIN:ray:20100101000451" ]
}A list of changesets on a repository.the ChangesetID of the changeset to return.the key of the repository to query.the changeset specified by csid.Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<changeset repositoryName="repositoryName" position="0" displayId="changeset_display_id" date="2017-11-27T14:12:31.330Z" csid="changeset_id" branch="branch" author="author">
<branches>
<branch>branch</branch>
</branches>
<children>
<child>child2</child>
<child>child1</child>
</children>
<comment>comment</comment>
<fileRevisionKey rev="revision_id" path="dir/path/path/"/>
<fileRevisionKey rev="revision_id_2" path="dir2/path2/path2/"/>
<p4JobIds>
<p4JobId>job1</p4JobId>
<p4JobId>job2</p4JobId>
<p4JobId>job3</p4JobId>
</p4JobIds>
<parents>
<parent>parent</parent>
</parents>
<tags>
<tag>tag1</tag>
<tag>tag2</tag>
</tags>
</changeset>
The changeset specified by csid.the changeset specified by csid.Example{
"repositoryName" : "repositoryName",
"csid" : "changeset_id",
"displayId" : "changeset_display_id",
"position" : "0",
"parents" : [ "parent" ],
"children" : [ "child2", "child1" ],
"date" : 1511791951330,
"author" : "author",
"branches" : [ "branch" ],
"tags" : [ "tag1", "tag2" ],
"comment" : "comment",
"p4JobIds" : [ "job1", "job2", "job3" ],
"branch" : "branch",
"fileRevisionKey" : [ {
"path" : "dir/path/path/",
"rev" : "revision_id"
}, {
"path" : "dir2/path2/path2/",
"rev" : "revision_id_2"
} ]
}The changeset specified by csid.Provides an API to execute FishEye queries against a repository.Execute a query across repositories. By default, this will search all repositories.text to search for in commit message and p4 jobId. Must not be empty.restrict search to only these repositories (by their keys)expand query parameter to specify the maximum number of results. Format is changesets[n:m].revisions[n:m],reviews
the default number of changesets returned is 30, the maximum returned is 100Example<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<results>
<changesets>
<changeset>
<repositoryName>repo1</repositoryName>
<csid>csid1</csid>
<date>2017-11-27T14:12:31.231Z</date>
<author>author1</author>
<branch>branch1</branch>
<comment>merge</comment>
<p4JobIds>p4job1</p4JobIds>
<p4JobIds>p4job2</p4JobIds>
<revisions size="1">
<revision totalLines="10" fileRevisionState="ADDED" rev="rev123456" path="/path/to/file.txt" linesRemoved="2" linesAdded="2" date="2017-11-27T14:12:31.230Z" csid="csid" contentLink="contentLink" author="author1">
<ancestor>ancestor1</ancestor>
<ancestor>ancestor2</ancestor>
<comment>merged</comment>
</revision>
</revisions>
<reviews size="1">
<review>
<metricsVersion>0</metricsVersion>
<permaId/>
</review>
</reviews>
</changeset>
</changesets>
</results>
Sample result for a FishEye cross repository query.Example{
"changesets" : {
"changeset" : [ {
"repositoryName" : "repo1",
"csid" : "csid1",
"date" : 1511791951231,
"author" : "author1",
"branch" : "branch1",
"comment" : "merge",
"p4JobIds" : [ "p4job1", "p4job2" ],
"revisions" : {
"size" : 1,
"revision" : [ {
"path" : "/path/to/file.txt",
"rev" : "rev123456",
"author" : "author1",
"date" : 1511791951230,
"totalLines" : 10,
"linesAdded" : 2,
"linesRemoved" : 2,
"csid" : "csid",
"comment" : "merged",
"contentLink" : "contentLink",
"ancestor" : [ "ancestor1", "ancestor2" ],
"fileRevisionState" : "ADDED"
} ]
},
"reviews" : {
"size" : 1,
"review" : [ {
"permaId" : { },
"metricsVersion" : 0
} ]
}
} ]
}
}Sample result for a FishEye cross repository query.the key of the repositoryExecute a FishEye query (that contains a "return" statement) against a specific repository.
Note: the maximum number of results will be limited to maxReturn
or 3000, whichever is the smallest number.
FishEye query to execute (which must contain a "return" statement)maximum number of results (which can be left unspecified, but in that case,
the maximum number of results will set to 3000 results)result of the query, limited to {@code maxReturn} or 3000 results, whichever is the smallest numberExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tabularQueryResult>
<row>
<item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">test/readme.txt</item>
<item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1.1</item>
<item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">peter</item>
</row>
<row>
<item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">test/readme.txt</item>
<item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1.2</item>
<item xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">peter</item>
</row>
<headings>
<heading>path</heading>
<heading>revision</heading>
<heading>author</heading>
</headings>
</tabularQueryResult>
Sample result for a FishEye query such as select revisions from dir /test return path, revision, author.result of the query, limited to {@code maxReturn} or 3000 results, whichever is the smallest numberExample{
"headings" : [ "path", "revision", "author" ],
"row" : [ {
"item" : [ "test/readme.txt", "1.1", "peter" ]
}, {
"item" : [ "test/readme.txt", "1.2", "peter" ]
} ]
}Sample result for a FishEye query such as select revisions from dir /test return path, revision, author.the key of the repositoryRetrieve a list of reviews for a changeset in a given repository.the id of the changeseta serialised list of review data objects which represent the reviews for the given changesetExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewsForChangeset>
<reviews>
<review>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</author>
<createDate>2017-11-27T14:12:31.219+0000</createDate>
<creator>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</creator>
<description>Description</description>
<jiraIssueKey>SAMPLE-1</jiraIssueKey>
<metricsVersion>1</metricsVersion>
<moderator>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</moderator>
<name>Sample Review</name>
<permaId>
<id>CR-SAMPLE-1</id>
</permaId>
<permaIdHistory>CR-SAMPLE-1</permaIdHistory>
<projectKey>CR-SAMPLE</projectKey>
<state>Review</state>
<summary>Review summary</summary>
<type>REVIEW</type>
</review>
</reviews>
<changesetId>aa26d45eea2d259678b801c135cde82fe6518473</changesetId>
</reviewsForChangeset>
a serialised list of review data objects which represent the reviews for the given changesetExample{
"changesetId" : "aa26d45eea2d259678b801c135cde82fe6518473",
"reviews" : [ {
"projectKey" : "CR-SAMPLE",
"name" : "Sample Review",
"description" : "Description",
"author" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"moderator" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"creator" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"permaId" : {
"id" : "CR-SAMPLE-1"
},
"permaIdHistory" : [ "CR-SAMPLE-1" ],
"summary" : "Review summary",
"state" : "Review",
"type" : "REVIEW",
"allowReviewersToJoin" : true,
"metricsVersion" : 1,
"createDate" : "2017-11-27T14:12:31.219+0000",
"jiraIssueKey" : "SAMPLE-1"
} ]
}the key of the repositoryRetrieve a list of reviews for each given changeset in a given repository.a list of changeset idsa serialised list of review data objects which represent the reviews for each changesetExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reviewsForChangesets>
<changesets>
<changeset>
<reviews>
<review>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</author>
<createDate>2017-11-27T14:12:31.219+0000</createDate>
<creator>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</creator>
<description>Description</description>
<jiraIssueKey>SAMPLE-1</jiraIssueKey>
<metricsVersion>1</metricsVersion>
<moderator>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</moderator>
<name>Sample Review</name>
<permaId>
<id>CR-SAMPLE-1</id>
</permaId>
<permaIdHistory>CR-SAMPLE-1</permaIdHistory>
<projectKey>CR-SAMPLE</projectKey>
<state>Review</state>
<summary>Review summary</summary>
<type>REVIEW</type>
</review>
</reviews>
<changesetId>aa26d45eea2d259678b801c135cde82fe6518473</changesetId>
</changeset>
<changeset>
<reviews>
<review>
<allowReviewersToJoin>true</allowReviewersToJoin>
<author>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</author>
<createDate>2017-11-27T14:12:31.219+0000</createDate>
<creator>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</creator>
<description>Description</description>
<jiraIssueKey>SAMPLE-2</jiraIssueKey>
<metricsVersion>1</metricsVersion>
<moderator>
<avatarUrl></avatarUrl>
<displayName>A. D. Ministrator</displayName>
<userName>admin</userName>
</moderator>
<name>Another Review</name>
<permaId>
<id>CR-SAMPLE-2</id>
</permaId>
<permaIdHistory>CR-SAMPLE-2</permaIdHistory>
<projectKey>CR-SAMPLE</projectKey>
<state>Review</state>
<summary>Review summary</summary>
<type>REVIEW</type>
</review>
</reviews>
<changesetId>16f1b72aed7e1ff0072a2b36aa579e4342a223e0</changesetId>
</changeset>
</changesets>
</reviewsForChangesets>
a serialised list of review data objects which represent the reviews for each changesetExample{
"changesets" : [ {
"changesetId" : "aa26d45eea2d259678b801c135cde82fe6518473",
"reviews" : [ {
"projectKey" : "CR-SAMPLE",
"name" : "Sample Review",
"description" : "Description",
"author" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"moderator" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"creator" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"permaId" : {
"id" : "CR-SAMPLE-1"
},
"permaIdHistory" : [ "CR-SAMPLE-1" ],
"summary" : "Review summary",
"state" : "Review",
"type" : "REVIEW",
"allowReviewersToJoin" : true,
"metricsVersion" : 1,
"createDate" : "2017-11-27T14:12:31.219+0000",
"jiraIssueKey" : "SAMPLE-1"
} ]
}, {
"changesetId" : "16f1b72aed7e1ff0072a2b36aa579e4342a223e0",
"reviews" : [ {
"projectKey" : "CR-SAMPLE",
"name" : "Another Review",
"description" : "Description",
"author" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"moderator" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"creator" : {
"userName" : "admin",
"displayName" : "A. D. Ministrator",
"avatarUrl" : ""
},
"permaId" : {
"id" : "CR-SAMPLE-2"
},
"permaIdHistory" : [ "CR-SAMPLE-2" ],
"summary" : "Review summary",
"state" : "Review",
"type" : "REVIEW",
"allowReviewersToJoin" : true,
"metricsVersion" : 1,
"createDate" : "2017-11-27T14:12:31.219+0000",
"jiraIssueKey" : "SAMPLE-2"
} ]
} ]
}the key of the repositoryExecute a FishEye query against a specific repository.
Note: the maximum number of results will be limited to maxReturn
or 3000, whichever is the smallest number.
FishEye query to executemaximum number of results (which can be left unspecified, but in that case,
the maximum number of results will set to 3000 results)result of the query, limited to {@code maxReturn} or 3000 results, whichever is the smallest numberExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fileRevisionKeyList>
<fileRevisionKey rev="1.1" path="test/readme.txt"/>
<fileRevisionKey rev="1.2" path="test/readme.txt"/>
<fileRevisionKey rev="1.3" path="test/readme.txt"/>
</fileRevisionKeyList>
Sample result for a FishEye query such as select revisions from dir /test.result of the query, limited to {@code maxReturn} or 3000 results, whichever is the smallest numberExample{
"fileRevisionKey" : [ {
"path" : "test/readme.txt",
"rev" : "1.1"
}, {
"path" : "test/readme.txt",
"rev" : "1.2"
}, {
"path" : "test/readme.txt",
"rev" : "1.3"
} ]
}Sample result for a FishEye query such as select revisions from dir /test.Rest service for Commit Graph data.the key of the repositoryRetrieves detailed information about a set of changesets in a repository, designed to be used with the FishEye commit graphno datadetailed changeset infoExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<detailedChangesets>
<changesets>
<changeset>
<comment>merge</comment>
<csid>csid1</csid>
<date>30 Jul 12</date>
<user>
<avatarUrl>http://to/avatar</avatarUrl>
<displayName>Matt Smith</displayName>
<userName>matt</userName>
</user>
</changeset>
<changeset>
<comment>added functionality</comment>
<csid>csid2</csid>
<date>30 Jul 12</date>
<user>
<avatarUrl>http://to/avatar</avatarUrl>
<displayName>Matt Smith</displayName>
<userName>matt</userName>
</user>
</changeset>
</changesets>
</detailedChangesets>
detailed changeset infoExample{
"changesets" : [ {
"csid" : "csid1",
"comment" : "merge",
"date" : "30 Jul 12",
"user" : {
"userName" : "matt",
"displayName" : "Matt Smith",
"avatarUrl" : "http://to/avatar"
}
}, {
"csid" : "csid2",
"comment" : "added functionality",
"date" : "30 Jul 12",
"user" : {
"userName" : "matt",
"displayName" : "Matt Smith",
"avatarUrl" : "http://to/avatar"
}
} ]
}the key of the repository to searchfinds slice data the querythe set of branches to search. If not specified, will search all branchesthe id of the changeset which we arethe direction to traverse. May be "before", "after" or "around"the number of changesets to return in the slicerest responseExample<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sliceData>
<revisions>
<revision repositoryName="repo1" position="position" displayId="dislayId1" date="2017-11-27T14:12:31.398Z" csid="csid1" branch="branch3" author="author1">
<branches>
<branch>branch3</branch>
<branch>branch2</branch>
<branch>branch1</branch>
</branches>
<children>
<child>child1</child>
</children>
<comment>comment1</comment>
<fileRevisionKey rev="0001" path="/path/to/1"/>
<p4JobIds>
<p4JobId>p4job1</p4JobId>
<p4JobId>p4job2</p4JobId>
</p4JobIds>
<parents>
<parent>parent1</parent>
</parents>
<tags>
<tag>tag1</tag>
<tag>tag2</tag>
<tag>tag3</tag>
</tags>
</revision>
</revisions>
<sparseRevisions/>
</sliceData>
rest responseExample{
"revisions" : [ {
"repositoryName" : "repo1",
"csid" : "csid1",
"displayId" : "dislayId1",
"position" : "position",
"parents" : [ "parent1" ],
"children" : [ "child1" ],
"date" : 1511791951398,
"author" : "author1",
"branches" : [ "branch3", "branch2", "branch1" ],
"tags" : [ "tag1", "tag2", "tag3" ],
"comment" : "comment1",
"p4JobIds" : [ "p4job1", "p4job2" ],
"branch" : "branch3",
"fileRevisionKey" : [ {
"path" : "/path/to/1",
"rev" : "0001"
} ]
} ],
"sparseRevisions" : [ ]
}
wadl-0.3.2/tests/jira_wadl.xml 0000644 0000000 0000000 00003544124 10461020230 0014412 0 ustar 0000000 0000000
Example"{\"visibleFieldNames\": [{\"value\":\"affectedVersion\",\"displayName\":\"affectedVersion\",\"auto\":\"true\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\",\"<\",\"<=\",\">\",\">=\"],\"types\":[\"com.atlassian.jira.project.version.Version\"]},{\"value\":\"assignee\",\"displayName\":\"assignee\",\"auto\":\"true\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"!=\",\"was not in\",\"not in\",\"was not\",\"is\",\"was in\",\"was\",\"=\",\"in\",\"changed\",\"is not\"],\"types\":[\"com.atlassian.crowd.embedded.api.User\"]}],\"visibleFunctionNames\": {\"value\":\"currentLogin()\",\"displayName\":\"currentLogin()\",\"types\":[\"java.util.Date\"]},{\"value\":\"currentUser()\",\"displayName\":\"currentUser()\",\"types\":[\"com.atlassian.crowd.embedded.api.User\"]}],\"jqlReservedWords\": \"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"Schema{"id":"https://docs.atlassian.com/jira/REST/schema/auto-complete-response#","title":"Auto Complete Response","type":"object","properties":{"visibleFieldNames":{"type":"array","items":{"type":"string"}},"visibleFunctionNames":{"type":"array","items":{"type":"string"}},"jqlReservedWords":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"results":[{"value":"ActiveObjects","displayName":"<b>Ac</b>tiveObjects (AO)"},{"value":"Atlassian Connect","displayName":"Atlassian Connect (<b>AC</b>)"},{"value":"Atlassian Connect in JIRA","displayName":"Atlassian Connect in JIRA (<b>AC</b>JIRA)"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/auto-complete-result-wrapper#","title":"Auto Complete Result Wrapper","type":"object","properties":{"results":{"type":"array","items":{"title":"Auto Complete Result","type":"object","properties":{"value":{"type":"string"},"displayName":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"Component 1","description":"This is a JIRA component","leadUserName":"fred","assigneeType":"PROJECT_LEAD","isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}Example{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10000","name":"Component 1","description":"This is a JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}Example{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10000","name":"Component 1","description":"This is a JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}
If leadUserName is an empty string ("") the component lead will be removed.]]>Example{"name":"Component 1","description":"This is a JIRA component","leadUserName":"fred","assigneeType":"PROJECT_LEAD","isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/component#","title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}Example{"self":"http://www.example.com/jira/rest/api/2/component/10000","issueCount":23}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/component-issue-counts#","title":"Component Issue Counts","type":"object","properties":{"self":{"type":"string","format":"uri"},"issueCount":{"type":"integer"}},"additionalProperties":false,"required":["issueCount"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-tab#","title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}Example{"id":10000,"name":"Fields Tab"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-tab#","title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-screenable-tab#","title":"List of Screenable Tab","type":"array","items":{"title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}}Example{"fieldId":"summary"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/add-field#","title":"Add Field","type":"object","properties":{"fieldId":{"type":"string"}},"additionalProperties":false}Example{"id":"summary","name":"Summary"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-field#","title":"Screenable Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-screenable-tab#","title":"List of Screenable Tab","type":"array","items":{"title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-tab#","title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}Example{"id":10000,"name":"Fields Tab"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/screenable-tab#","title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-screenable-tab#","title":"List of Screenable Tab","type":"array","items":{"title":"Screenable Tab","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/move-field#","title":"Move Field","type":"object","properties":{"after":{"type":"string","format":"uri"},"position":{"type":"string","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false}Example{"startTime":"2016-02-11T01:20:20.493+0000","duration":2001,"outcome":"SUCCESS","message":""}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/upgrade-result#","title":"Upgrade Result","type":"object","properties":{"startTime":{"type":"string"},"duration":{"type":"integer"},"outcome":{"type":"string"},"message":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/users-and-groups#","title":"Users And Groups","type":"object","properties":{"users":{"title":"User Picker Results","type":"object","properties":{"users":{"type":"array","items":{"title":"User Picker User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"html":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}},"total":{"type":"integer"},"header":{"type":"string"}},"additionalProperties":false},"groups":{"title":"Group Suggestions","type":"object","properties":{"header":{"type":"string"},"total":{"type":"integer"},"groups":{"type":"array","items":{"title":"Group Suggestion","type":"object","properties":{"name":{"type":"string"},"html":{"type":"string"},"labels":{"type":"array","items":{"title":"Group Label","type":"object","properties":{"text":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["ADMIN","SINGLE","MULTIPLE"]}},"additionalProperties":false}}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false}Schema{"type":"array","items":{"type":"integer"}}Example{"id":10500,"status":"PENDING","type":"IMMEDIATE","requestTime":"2016-02-11T01:20:19.218+0000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/reindex-request#","title":"Reindex Request","type":"object","properties":{"id":{"type":"integer"},"status":{"type":"string","enum":["PENDING","ACTIVE","RUNNING","FAILED","COMPLETE"]},"type":{"type":"string","enum":["IMMEDIATE","DELAYED"]},"requestTime":{"type":"string"},"startTime":{"type":"string"},"completionTime":{"type":"string"}},"additionalProperties":false,"required":["id"]}Example{"id":10500,"status":"PENDING","type":"IMMEDIATE","requestTime":"2016-02-11T01:20:19.218+0000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/reindex-request#","title":"Reindex Request","type":"object","properties":{"id":{"type":"integer"},"status":{"type":"string","enum":["PENDING","ACTIVE","RUNNING","FAILED","COMPLETE"]},"type":{"type":"string","enum":["IMMEDIATE","DELAYED"]},"requestTime":{"type":"string"},"startTime":{"type":"string"},"completionTime":{"type":"string"}},"additionalProperties":false,"required":["id"]}Example{"issueLinkTypes":[{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"http://www.example.com/jira/rest/api/2//issueLinkType/1000"},{"id":"1010","name":"Blocks","inward":"Blocked by","outward":"Blocks","self":"http://www.example.com/jira/rest/api/2//issueLinkType/1010"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-types#","title":"Issue Link Types","type":"object","properties":{"issueLinkTypes":{"type":"array","items":{"title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"Duplicate","inward":"Duplicated by","outward":"Duplicates"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"}},"additionalProperties":false}Example{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"http://www.example.com/jira/rest/api/2//issueLinkType/1000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}Example{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"http://www.example.com/jira/rest/api/2//issueLinkType/1000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}Example{"name":"Duplicate","inward":"Duplicated by","outward":"Duplicates"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"}},"additionalProperties":false}Example{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"http://www.example.com/jira/rest/api/2//issueLinkType/1000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link-type#","title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2.0/attachments/10000","filename":"picture.jpg","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.617+0000","size":23123,"mimeType":"image/jpeg","content":"http://www.example.com/jira/attachments/10000","thumbnail":"http://www.example.com/jira/secure/thumbnail/10000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/attachment#","title":"Attachment","type":"object","properties":{"self":{"type":"string","format":"uri"},"filename":{"type":"string"},"author":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"created":{"type":"string"},"size":{"type":"integer"},"mimeType":{"type":"string"},"properties":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"content":{"type":"string"},"thumbnail":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["size"]}
there is no attachment with the requested id
attachments feature is disabled
]]>
there is no attachment with the requested id
attachments feature is disabled
]]>Example{"enabled":true,"uploadLimit":1000000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/attachment-meta#","title":"Attachment Meta","type":"object","properties":{"enabled":{"type":"boolean"},"uploadLimit":{"type":"integer"}},"additionalProperties":false,"required":["enabled"]}Example{"entries":[{"entryIndex":0,"name":"Allegro from Duet in C Major.mp3","size":1430174,"mediaType":"audio/mpeg"},{"entryIndex":1,"name":"lrm.rtf","size":331,"mediaType":"text/rtf"}],"totalEntryCount":24}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/attachment-archive-impl#","title":"Attachment Archive Impl","type":"object","properties":{"entries":{"type":"array","items":{"title":"Attachment Archive Entry","type":"object","properties":{"abbreviatedName":{"type":"string"},"entryIndex":{"type":"integer"},"mediaType":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer"}},"additionalProperties":false,"required":["entryIndex","size"]}},"totalEntryCount":{"type":"integer"}},"additionalProperties":false,"required":["totalEntryCount"]}
there is no attachment with the requested id
attachments feature is disabled
]]>Example{"id":7237823,"name":"images.zip","entries":[{"path":"MG00N067.JPG","index":0,"size":"119 kB","mediaType":"image/jpeg","label":"MG00N067.JPG"},{"path":"Allegro from Duet in C Major.mp3","index":1,"size":"1.36 MB","mediaType":"audio/mpeg","label":"Allegro from Duet in C Major.mp3"},{"path":"long/path/thanks/to/lots/of/subdirectories/inside/making/it/quite/hard/to/reach/the/leaf.txt","index":2,"size":"0.0 k","mediaType":"text/plain","label":"long/path/thanks/to/.../reach/the/leaf.txt"}],"totalEntryCount":39,"mediaType":"application/zip"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/human-readable-archive#","title":"Human Readable Archive","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"entries":{"type":"array","items":{"title":"Human Readable Archive Entry","type":"object","properties":{"path":{"type":"string"},"index":{"type":"integer"},"size":{"type":"string"},"mediaType":{"type":"string"},"label":{"type":"string"}},"additionalProperties":false,"required":["index"]}},"totalEntryCount":{"type":"integer"},"mediaType":{"type":"string"}},"additionalProperties":false,"required":["id","totalEntryCount"]}
there is no attachment with the requested id
attachments feature is disabled
]]>Example{"id":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/id#","title":"Id","type":"object","properties":{"id":{"type":"integer"}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/10000","name":"Example permission scheme","description":"description"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/10000","name":"Example permission scheme","description":"description"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false} 1000, it will be set do default value: 1000)]]>Example{"id":1,"summary":"User created","remoteAddress":"192.168.1.1","authorKey":"administrator","created":"2014-03-19T18:45:42.967+0000","category":"user management","eventSource":"JIRA Connect Plugin","description":"Optional description","objectItem":{"id":"user","name":"user","typeName":"USER","parentId":"1","parentName":"JIRA Internal Directory"},"changedValues":[{"fieldName":"email","changedFrom":"user@atlassian.com","changedTo":"newuser@atlassian.com"}],"associatedItems":[{"id":"jira-software-users","name":"jira-software-users","typeName":"GROUP","parentId":"1","parentName":"JIRA Internal Directory"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/audit-record#","title":"Audit Record","type":"object","properties":{"id":{"type":"integer"},"summary":{"type":"string"},"remoteAddress":{"type":"string"},"authorKey":{"type":"string"},"created":{"type":"string"},"category":{"type":"string"},"eventSource":{"type":"string"},"description":{"type":"string"},"objectItem":{"$ref":"#/definitions/associated-item"},"changedValues":{"type":"array","items":{"title":"Changed Value","type":"object","properties":{"fieldName":{"type":"string"},"changedFrom":{"type":"string"},"changedTo":{"type":"string"}},"additionalProperties":false}},"associatedItems":{"type":"array","items":{"$ref":"#/definitions/associated-item"}}},"definitions":{"associated-item":{"title":"Associated Item","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"typeName":{"type":"string"},"parentId":{"type":"string"},"parentName":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"summary":"User created","created":null,"category":"USER_MANAGEMENT","objectItem":{"id":"usr","name":"user","typeName":"USER","parentId":"1","parentName":"JIRA Internal Directory"},"changedValues":[{"fieldName":"email","changedFrom":"user@atlassian.com","changedTo":"newuser@atlassian.com"}],"associatedItems":[{"id":"jira-software-users","name":"jira-software-users","typeName":"GROUP","parentId":"1","parentName":"JIRA Internal Directory"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/audit-record#","title":"Audit Record","type":"object","properties":{"id":{"type":"integer"},"summary":{"type":"string"},"remoteAddress":{"type":"string"},"authorKey":{"type":"string"},"created":{"type":"string"},"category":{"type":"string"},"eventSource":{"type":"string"},"description":{"type":"string"},"objectItem":{"$ref":"#/definitions/associated-item"},"changedValues":{"type":"array","items":{"title":"Changed Value","type":"object","properties":{"fieldName":{"type":"string"},"changedFrom":{"type":"string"},"changedTo":{"type":"string"}},"additionalProperties":false}},"associatedItems":{"type":"array","items":{"$ref":"#/definitions/associated-item"}}},"definitions":{"associated-item":{"title":"Associated Item","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"typeName":{"type":"string"},"parentId":{"type":"string"},"parentName":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example[{"id":"jira.home","key":"jira.home","value":"/var/jira/jira-home","name":"jira.home","desc":"JIRA home directory","type":"string","defaultValue":""},{"id":"jira.clone.prefix","key":"jira.clone.prefix","value":"CLONE -","name":"The prefix added to the Summary field of cloned issues","type":"string","defaultValue":"CLONE -"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"desc":{"type":"string"},"type":{"type":"string"},"defaultValue":{"type":"string"},"example":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false} Advanced Settings" page.]]> Advanced Settings" page.]]>Example[{"id":"jira.home","key":"jira.home","value":"/var/jira/jira-home","name":"jira.home","desc":"JIRA home directory","type":"string","defaultValue":""},{"id":"jira.clone.prefix","key":"jira.clone.prefix","value":"CLONE -","name":"The prefix added to the Summary field of cloned issues","type":"string","defaultValue":"CLONE -"}] Advanced Settings" page.]]>Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-property#","title":"List of Property","type":"array","items":{"title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"desc":{"type":"string"},"type":{"type":"string"},"defaultValue":{"type":"string"},"example":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}} Advanced Settings" page.]]> Advanced Settings" page.]]>Example{"id":"jira.home","value":"/var/jira/jira-home"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/application-property#","title":"Application Property","type":"object","properties":{"id":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"},"name":{"type":"string"},"desc":{"type":"string"},"type":{"type":"string"},"defaultValue":{"type":"string"},"example":{"type":"string"},"allowedValues":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/securitylevel/10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/security-level#","title":"Security Level","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Showing X of Y matching groups.
The number of groups returned is limited by the system property "jira.ajax.autocomplete.limit"
The groups will be unique and sorted.]]>
Example{"header":"Showing 20 of 25 matching groups","total":25,"groups":[{"name":"jdog-developers","html":"<b>j</b>dog-developers"},{"name":"juvenal-bot","html":"<b>j</b>uvenal-bot"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/group-suggestions#","title":"Group Suggestions","type":"object","properties":{"header":{"type":"string"},"total":{"type":"integer"},"groups":{"type":"array","items":{"title":"Group Suggestion","type":"object","properties":{"name":{"type":"string"},"html":{"type":"string"},"labels":{"type":"array","items":{"title":"Group Label","type":"object","properties":{"text":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["ADMIN","SINGLE","MULTIPLE"]}},"additionalProperties":false}}},"additionalProperties":false}}},"additionalProperties":false}Example[{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/task.png","name":"Task","subtask":false,"avatarId":1},{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"avatarId":10002}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-issue-type#","title":"List of Issue Type","type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}}Example{"name":"name","description":"description","type":"standard"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-create#","title":"Issue Type Create","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string","enum":["subtask","standard"]}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type#","title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}Example{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/task.png","name":"Task","subtask":false,"avatarId":1}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type#","title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}/rest/api/2/issuetype/{id}/alternatives resource.]]>Example{"name":"name","description":"description","avatarId":1}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-update#","title":"Issue Type Update","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"avatarId":{"type":"integer"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type#","title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}
The following examples shows these three steps using curl.
The cookies (session) need to be preserved between requests, hence the use of -b and -c.
The id created in step 2 needs to be passed to step 3
(you can simply pass the whole response of step 2 as the request of step 3).
]]>Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Creating a temporary avatar is part of a 3-step process in uploading a new
avatar for an issue type: upload, crop, confirm. This endpoint allows you to use a multipart upload
instead of sending the image directly as the request body.
You *must* use "avatar" as the name of the upload parameter:
]]>Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"id":"1000","owner":"fred","isSystemAvatar":true,"isSelected":false,"isDeletable":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"},"selected":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}Example[{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/task.png","name":"Task","subtask":false,"avatarId":1},{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"avatarId":10002}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-issue-type#","title":"List of Issue Type","type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}}Example[{"self":"http://www.example.com/jira/rest/api/2/resolution/1","description":"A fix for this issue is checked into the tree and tested.","iconUrl":"http://www.example.com/jira/images/icons/statuses/resolved.png","name":"Fixed"},{"self":"http://www.example.com/jira/rest/api/2/resolution/3","description":"This is what it is supposed to do.","name":"Works as designed"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-resolution#","title":"List of Resolution","type":"array","items":{"title":"Resolution","type":"object","properties":{"self":{"type":"string","format":"uri"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}}Example{"self":"http://www.example.com/jira/rest/api/2/resolution/1","description":"A fix for this issue is checked into the tree and tested.","iconUrl":"http://www.example.com/jira/images/icons/statuses/resolved.png","name":"Fixed"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/resolution#","title":"Resolution","type":"object","properties":{"self":{"type":"string","format":"uri"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}Example{"name":"New custom field","description":"Custom field for picking groups","type":"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker","searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/custom-field-definition#","title":"Custom Field Definition","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"searcherKey":{"type":"string"}},"additionalProperties":false}Example{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/field#","title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}Example[{"id":"description","name":"Description","custom":false,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["description"],"schema":{"type":"string","system":"description"}},{"id":"summary","name":"Summary","custom":false,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["summary"],"schema":{"type":"string","system":"summary"}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-field#","title":"List of Field","type":"array","items":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}}Example[{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"},{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/9","id":9,"key":"completed","colorName":"green"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-status-category#","title":"List of Status Category","type":"array","items":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}}Example{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/status-category#","title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Example{"jql":"project = HSP","startAt":0,"maxResults":15,"fields":["summary","status","assignee"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/search-request#","title":"Search Request","type":"object","properties":{"jql":{"type":"string"},"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"fields":{"type":"array","items":{"type":"string"}},"validateQuery":{"type":"boolean"}},"additionalProperties":false}Example{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/api/2/issue/10001","key":"HSP-1"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/search-results#","title":"Search Results","type":"object","properties":{"expand":{"type":"string"},"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"issues":{"type":"array","items":{"title":"Issue","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"string"},"self":{"type":"string","format":"uri"},"key":{"type":"string"},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"renderedFields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"properties":{"title":"Properties","type":"object","properties":{"properties":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"names":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"schema":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/json-type"}},"additionalProperties":false},"transitions":{"type":"array","items":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/field-meta"}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false}},"operations":{"title":"Opsbar","type":"object","properties":{"linkGroups":{"type":"array","items":{"$ref":"#/definitions/link-group"}}},"additionalProperties":false},"editmeta":{"title":"Edit Meta","type":"object","properties":{"fields":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/field-meta"}},"additionalProperties":false}},"additionalProperties":false},"changelog":{"title":"Changelog","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"histories":{"type":"array","items":{"title":"Change History","type":"object","properties":{"id":{"type":"string"},"author":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"created":{"type":"string"},"items":{"type":"array","items":{"title":"Change Item","type":"object","properties":{"field":{"type":"string"},"fieldtype":{"type":"string"},"from":{"type":"string"},"fromString":{"type":"string"},"to":{"type":"string"},"toString":{"type":"string"}},"additionalProperties":false}},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}},"additionalProperties":false},"versionedRepresentations":{"type":"object","patternProperties":{".+":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false}},"additionalProperties":false},"fieldsToInclude":{"title":"Included Fields","type":"object"}},"additionalProperties":false}},"warningMessages":{"type":"array","items":{"type":"string"}},"names":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"schema":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/json-type"}},"additionalProperties":false}},"definitions":{"field-meta":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"$ref":"#/definitions/json-type"},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]},"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false},"json-type":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"link-group":{"title":"Link Group","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/definitions/simple-link"},"weight":{"type":"integer"},"links":{"type":"array","items":{"$ref":"#/definitions/simple-link"}},"groups":{"type":"array","items":{"$ref":"#/definitions/link-group"}}},"additionalProperties":false},"simple-link":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}Sorting
the jql parameter is a full JQL
expression, and includes an ORDER BY clause.
The fields param (which can be specified multiple times) gives a comma-separated list of fields
to include in the response. This can be used to retrieve a subset of fields.
A particular field can be excluded by prefixing it with a minus.
By default, only navigable (*navigable) fields are returned in this search resource. Note: the default is different
in the get-issue resource -- the default there all fields (*all).
*all - include all fields
*navigable - include just navigable fields
summary,comment - include just the summary and comments
-description - include navigable fields except the description (the default is *navigable for search)
*all,-comment - include everything except comments
GET vs POST:
If the JQL query is too large to be encoded as a query param you should instead
POST to this resource.
Expanding Issues in the Search Result:
It is possible to expand the issues returned by directly specifying the expansion on the expand parameter passed
in to this resources.
For instance, to expand the "changelog" for all the issues on the search result, it is neccesary to
specify "changelog" as one of the values to expand.
]]>Example{"expand":"names,schema","startAt":0,"maxResults":50,"total":1,"issues":[{"expand":"","id":"10001","self":"http://www.example.com/jira/rest/api/2/issue/10001","key":"HSP-1"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/search-results#","title":"Search Results","type":"object","properties":{"expand":{"type":"string"},"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"issues":{"type":"array","items":{"title":"Issue","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"string"},"self":{"type":"string","format":"uri"},"key":{"type":"string"},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"renderedFields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"properties":{"title":"Properties","type":"object","properties":{"properties":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"names":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"schema":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/json-type"}},"additionalProperties":false},"transitions":{"type":"array","items":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/field-meta"}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false}},"operations":{"title":"Opsbar","type":"object","properties":{"linkGroups":{"type":"array","items":{"$ref":"#/definitions/link-group"}}},"additionalProperties":false},"editmeta":{"title":"Edit Meta","type":"object","properties":{"fields":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/field-meta"}},"additionalProperties":false}},"additionalProperties":false},"changelog":{"title":"Changelog","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"histories":{"type":"array","items":{"title":"Change History","type":"object","properties":{"id":{"type":"string"},"author":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"created":{"type":"string"},"items":{"type":"array","items":{"title":"Change Item","type":"object","properties":{"field":{"type":"string"},"fieldtype":{"type":"string"},"from":{"type":"string"},"fromString":{"type":"string"},"to":{"type":"string"},"toString":{"type":"string"}},"additionalProperties":false}},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}},"additionalProperties":false},"versionedRepresentations":{"type":"object","patternProperties":{".+":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false}},"additionalProperties":false},"fieldsToInclude":{"title":"Included Fields","type":"object"}},"additionalProperties":false}},"warningMessages":{"type":"array","items":{"type":"string"}},"names":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"schema":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/json-type"}},"additionalProperties":false}},"definitions":{"field-meta":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"$ref":"#/definitions/json-type"},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]},"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false},"json-type":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"link-group":{"title":"Link Group","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/definitions/simple-link"},"weight":{"type":"integer"},"links":{"type":"array","items":{"$ref":"#/definitions/simple-link"}},"groups":{"type":"array","items":{"$ref":"#/definitions/link-group"}}},"additionalProperties":false},"simple-link":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}Examplehttp://jira.atlassian.com/Schema{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-column-item#","title":"List of Column Item","type":"array","items":{"title":"Column Item","type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"values":[{"worklogId":103,"updatedTime":1438013671562},{"worklogId":104,"updatedTime":1438013672165},{"worklogId":105,"updatedTime":1438013693136}],"since":1438013671562,"until":1438013693136,"self":"http://www.example.com/jira/worklog/updated?since=1438013671136","nextPage":"http://www.example.com/jira/worklog/updated/updated?since=1438013671136&since=1438013693136","lastPage":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog-changed-since#","title":"Worklog Changed Since","type":"object","properties":{"values":{"type":"array","items":{"title":"Worklog Change","type":"object","properties":{"worklogId":{"type":"integer"},"updatedTime":{"type":"integer"}},"additionalProperties":false}},"since":{"type":"integer"},"until":{"type":"integer"},"isLastPage":{"type":"boolean"},"self":{"type":"string","format":"uri"},"nextPage":{"type":"string","format":"uri"}},"additionalProperties":false,"required":["isLastPage"]}Example{"values":[{"worklogId":103,"updatedTime":1438013671562},{"worklogId":104,"updatedTime":1438013672165},{"worklogId":105,"updatedTime":1438013693136}],"since":1438013671562,"until":1438013693136,"self":"http://www.example.com/jira/worklog/updated/updated/deleted?since=1438013671136&since=1438013693136&since=1438013671136","nextPage":"http://www.example.com/jira/worklog/updated/updated/deleted/deleted?since=1438013671136&since=1438013693136&since=1438013671136&since=1438013693136","lastPage":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog-changed-since#","title":"Worklog Changed Since","type":"object","properties":{"values":{"type":"array","items":{"title":"Worklog Change","type":"object","properties":{"worklogId":{"type":"integer"},"updatedTime":{"type":"integer"}},"additionalProperties":false}},"since":{"type":"integer"},"until":{"type":"integer"},"isLastPage":{"type":"boolean"},"self":{"type":"string","format":"uri"},"nextPage":{"type":"string","format":"uri"}},"additionalProperties":false,"required":["isLastPage"]}Example{"ids":[1,2,5,10]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog-ids-request#","title":"Worklog Ids Request","type":"object","properties":{"ids":{"type":"array","items":{"type":"integer"}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2016-02-11T01:20:19.847+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.844+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-worklog#","title":"List of Worklog","type":"array","items":{"title":"Worklog","type":"object","properties":{"self":{"type":"string","format":"uri"},"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"additionalProperties":false},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}}}Example{"name":"Developers","id":10360,"description":"A project role that represents developers in a project"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"MyRole","description":"role description"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/create-update-role-request#","title":"Create Update Role Request","type":"object","properties":{"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Example{"name":"Developers","id":10360,"description":"A project role that represents developers in a project"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"Developers","id":10360,"description":"A project role that represents developers in a project"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"MyRole","description":"role description"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/create-update-role-request#","title":"Create Update Role Request","type":"object","properties":{"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Example{"name":"Developers","id":10360,"description":"A project role that represents developers in a project"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"MyRole","description":"role description"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/create-update-role-request#","title":"Create Update Role Request","type":"object","properties":{"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Example{"name":"Developers","id":10360,"description":"A project role that represents developers in a project"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"user":["admin"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/actor-input#","title":"Actor Input","type":"object","properties":{"user":{"type":"array","items":{"type":"string"}},"group":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}Example{"baseUrl":"http://localhost:8080/jira","version":"5.0-SNAPSHOT","versionNumbers":[5,0,0],"buildNumber":582,"buildDate":"2016-02-11T01:20:18.412+0000","serverTime":"2016-02-11T01:20:18.412+0000","scmInfo":"1f51473f5c7b75c1a69a0090f4832cdc5053702a","buildPartnerName":"Example Partner Co.","serverTitle":"My Shiny New JIRA Server"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/server-info#","title":"Server Info","type":"object","properties":{"baseUrl":{"type":"string"},"version":{"type":"string"},"versionNumbers":{"type":"array","items":{"type":"integer"}},"buildNumber":{"type":"integer"},"buildDate":{"type":"string"},"serverTime":{"type":"string"},"scmInfo":{"type":"string"},"buildPartnerName":{"type":"string"},"serverTitle":{"type":"string"},"healthChecks":{"type":"array","items":{"title":"Health Check Result","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"passed":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false}Example{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-properties-keys#","title":"Entity Properties Keys","type":"object","properties":{"keys":{"type":"array","items":{"title":"Entity Property Key","type":"object","properties":{"self":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
You can use this resource to store a custom data against the issue identified by the key or by the id. The user
who stores the data is required to have permissions to edit the issue.
]]>Example{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-property#","title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}
The body contains a representation of the new scheme. Values not passed are assumed to be set to their defaults.]]>Example{"name":"New Workflow Scheme Name","description":"New Workflow Scheme Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId":"WorkflowName"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}
The body of the request is a representation of the workflow scheme. Values not passed are assumed to indicate
no change for that field.
The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft
should be created and/or updated when the actual scheme cannot be edited (e.g. when the scheme is being used by
a project). Values not appearing the body will not be touched.]]>Example{"id":57585,"name":"Updated Workflow Scheme Name","description":"Updated Workflow Scheme Name","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId":"WorkflowName"},"updateDraftIfNeeded":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}
The body is a representation of the workflow scheme. Values not passed are assumed to indicate no change for that field.]]>Example{"id":57585,"name":"Updated Workflow Scheme Name","description":"Updated Workflow Scheme Name","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId":"WorkflowName"},"updateDraftIfNeeded":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"workflow":"WorkflowName","issueTypes":["IssueTypeId","IssueTypeId2"],"defaultMapping":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-mapping#","title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-workflow-mapping#","title":"List of Workflow Mapping","type":"array","items":{"title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}}
The body is a representation of the workflow mapping.
Values not passed are assumed to indicate no change for that field.
The passed representation can have its updateDraftIfNeeded flag set to true to indicate that the draft
should be created/updated when the actual scheme cannot be edited.]]>Example{"workflow":"WorkflowName3","issueTypes":["IssueTypeId"],"updateDraftIfNeeded":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-mapping#","title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"workflow":"WorkflowName","issueTypes":["IssueTypeId","IssueTypeId2"],"defaultMapping":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-mapping#","title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-workflow-mapping#","title":"List of Workflow Mapping","type":"array","items":{"title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}}
The body is a representation of the workflow mapping.
Values not passed are assumed to indicate no change for that field.]]>Example{"workflow":"WorkflowName3","issueTypes":["IssueTypeId"],"updateDraftIfNeeded":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-mapping#","title":"Workflow Mapping","type":"object","properties":{"workflow":{"type":"string"},"issueTypes":{"type":"array","items":{"type":"string"}},"defaultMapping":{"type":"boolean"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"issueType":"IssueTypeId","workflow":"WorkflowName"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-mapping#","title":"Issue Type Mapping","type":"object","properties":{"issueType":{"type":"string"},"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}
The passed representation can have its updateDraftIfNeeded flag set to true to indicate that
the draft should be created/updated when the actual scheme cannot be edited.]]>Example{"issueType":"IssueTypeId","workflow":"WorkflowName","updateDraftIfNeeded":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-mapping#","title":"Issue Type Mapping","type":"object","properties":{"issueType":{"type":"string"},"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"issueType":"IssueTypeId","workflow":"WorkflowName"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-mapping#","title":"Issue Type Mapping","type":"object","properties":{"issueType":{"type":"string"},"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}
The passed representation can have its updateDraftIfNeeded flag set to true to indicate that
the draft should be created/updated when the actual scheme cannot be edited.]]>Example{"issueType":"IssueTypeId","workflow":"WorkflowName","updateDraftIfNeeded":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-type-mapping#","title":"Issue Type Mapping","type":"object","properties":{"issueType":{"type":"string"},"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"workflow":"WorkflowName"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default#","title":"Default","type":"object","properties":{"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}Example{"workflow":"WorkflowName","updateDraftIfNeeded":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default#","title":"Default","type":"object","properties":{"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":17218781,"name":"Workflow Scheme Two","description":"Workflow Scheme Two Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"originalDefaultWorkflow":"ParentsDefaultWorkflowName","originalIssueTypeMappings":{"IssueTypeId":"WorkflowName2"},"draft":true,"lastModifiedUser":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 12:45","self":"http://www.example.com/jira/rest/api/2/workflowscheme/17218781/draft"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}
The passed representation can have its
updateDraftIfNeeded flag set to true to indicate that the draft should be created/updated when the actual scheme
cannot be edited.]]>Example{"workflow":"WorkflowName","updateDraftIfNeeded":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default#","title":"Default","type":"object","properties":{"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"id":101010,"name":"Workflow Scheme One","description":"Workflow Scheme One Description","defaultWorkflow":"DefaultWorkflowName","issueTypeMappings":{"IsueTypeId2":"WorkflowName","IsueTypeId":"WorkflowName"},"draft":false,"self":"http://www.example.com/jira/rest/api/2/workflowscheme/101010"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow-scheme#","title":"Workflow Scheme","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultWorkflow":{"type":"string"},"issueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"originalDefaultWorkflow":{"type":"string"},"originalIssueTypeMappings":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"draft":{"type":"boolean"},"lastModifiedUser":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"lastModified":{"type":"string"},"self":{"type":"string","format":"uri"},"updateDraftIfNeeded":{"type":"boolean"},"issueTypes":{"type":"object","patternProperties":{".+":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"additionalProperties":false}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false}Example{"workflow":"WorkflowName"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default#","title":"Default","type":"object","properties":{"workflow":{"type":"string"},"updateDraftIfNeeded":{"type":"boolean"}},"additionalProperties":false}Example{"self":"http://localhost:8090/jira/rest/api/2.0/customFieldOption/3","value":"Blue"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/custom-field-option#","title":"Custom Field Option","type":"object","properties":{"self":{"type":"string","format":"uri"},"value":{"type":"string"}},"additionalProperties":false}
This resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. Most client
libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components
library provides a
MultiPartEntity
that makes it simple to submit a multipart POST.
In order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection
on it. This means you must submit a header of X-Atlassian-Token: no-check with the request, otherwise it will be
blocked.
The name of the multipart/form-data parameter that contains attachments must be "file"
A simple example to upload a file called "myfile.txt" to issue REST-123:
]]>Example[{"self":"http://www.example.com/jira/rest/api/2.0/attachments/10000","filename":"picture.jpg","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.617+0000","size":23123,"mimeType":"image/jpeg","content":"http://www.example.com/jira/attachments/10000","thumbnail":"http://www.example.com/jira/secure/thumbnail/10000"},{"self":"http://www.example.com/jira/rest/api/2.0/attachments/10001","filename":"dbeuglog.txt","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.617+0000","size":2460,"mimeType":"text/plain","content":"http://www.example.com/jira/attachments/10001","thumbnail":"http://www.example.com/jira/secure/thumbnail/10002"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-attachment#","title":"List of Attachment","type":"array","items":{"title":"Attachment","type":"object","properties":{"self":{"type":"string","format":"uri"},"filename":{"type":"string"},"author":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"created":{"type":"string"},"size":{"type":"integer"},"mimeType":{"type":"string"},"properties":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"content":{"type":"string"},"thumbnail":{"type":"string"}},"additionalProperties":false,"required":["size"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}}}/dashboard resource.]]>"favourite" for returning only favourite dashboards, and "my" for returning
dashboards that are owned by the calling user.]]>maxResults]]>maxResults limit that is lower than the value that a
client provides, dues to lack or resources or any other condition. When this happens, your results will be
truncated. Callers should always check the returned maxResults to determine the value that is
effectively being used.]]>Example{"startAt":10,"maxResults":10,"total":143,"prev":"http://www.example.com/jira/rest/api/2/dashboard?startAt=0","next":"http://www.example.com/jira/rest/api/2/dashboard?startAt=10","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"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/dashboards#","title":"Dashboards","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"prev":{"type":"string"},"next":{"type":"string"},"dashboards":{"type":"array","items":{"title":"Dashboard","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"self":{"type":"string"},"view":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}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{"id":"https://docs.atlassian.com/jira/REST/schema/dashboard#","title":"Dashboard","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"self":{"type":"string"},"view":{"type":"string"}},"additionalProperties":false}Example{"permissions":{"BULK_CHANGE":{"key":"BULK_CHANGE","name":"Bulk Change","type":"GLOBAL","description":"Ability to modify a collection of issues at once. For example, resolve multiple issues in one step."}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permissions#","title":"Permissions","type":"object","properties":{"permissions":{"type":"object","patternProperties":{".+":{"title":"Permission","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["GLOBAL","PROJECT"]},"description":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}
When no context supplied the project related permissions will return true if the user has that permission in ANY project
If a project context is provided, project related permissions will return true if the user has the permissions in the specified project.
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
If an issue context is provided, it will return whether or not the user has each permission in that specific issue
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,
but 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
any user could be a reporter, except in the context of a concrete issue, where the reporter is known.
Global permissions will still be returned for all scopes.
Prior to version 6.4 this service returned project permissions with keys corresponding to com.atlassian.jira.security.Permissions.Permission constants.
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.
Permissions with legacy keys are still also returned for backwards compatibility, they are marked with an attribute deprecatedKey=true.
The attribute is missing for project permissions with the current keys.
]]>Example{"permissions":{"EDIT_ISSUE":{"id":"12","key":"EDIT_ISSUES","name":"Edit Issues","type":"PROJECT","description":"Ability to edit issues.","havePermission":true}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permissions#","title":"Permissions","type":"object","properties":{"permissions":{"type":"object","patternProperties":{".+":{"title":"Permission","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["GLOBAL","PROJECT"]},"description":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}Example{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-properties-keys#","title":"Entity Properties Keys","type":"object","properties":{"keys":{"type":"array","items":{"title":"Entity Property Key","type":"object","properties":{"self":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
You can use this resource to store a custom data against an issue type identified by the id. The user
who stores the data is required to have permissions to edit an issue type.
]]>Example{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-property#","title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}Example{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-properties-keys#","title":"Entity Properties Keys","type":"object","properties":{"keys":{"type":"array","items":{"title":"Entity Property Key","type":"object","properties":{"self":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
You can use this resource to store a custom data against the dashboard item identified by the id.
The user who stores the data is required to have permissions to administer the dashboard item.
]]>Example{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-property#","title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}Example{"description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","userReleaseDate":"6/Jul/2010","project":"PXA","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}Example{"description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","userReleaseDate":"6/Jul/2010","project":"PXA","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/version/10000","issuesFixedCount":23,"issuesAffectedCount":101,"issueCountWithCustomFieldsShowingVersion":54,"customFieldUsage":[{"fieldName":"Field1","customFieldId":10000,"issueCountWithVersionInCustomField":2},{"fieldName":"Field2","customFieldId":10010,"issueCountWithVersionInCustomField":3}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version-issue-counts#","title":"Version Issue Counts","type":"object","properties":{"self":{"type":"string","format":"uri"},"issuesFixedCount":{"type":"integer"},"issuesAffectedCount":{"type":"integer"},"issueCountWithCustomFieldsShowingVersion":{"type":"integer"},"customFieldUsage":{"type":"array","items":{"title":"Version Usage In Custom Fields","type":"object","properties":{"fieldName":{"type":"string"},"customFieldId":{"type":"integer"},"issueCountWithVersionInCustomField":{"type":"integer"}},"additionalProperties":false,"required":["customFieldId","issueCountWithVersionInCustomField"]}}},"additionalProperties":false,"required":["issuesFixedCount","issuesAffectedCount","issueCountWithCustomFieldsShowingVersion"]}Example{"self":"http://www.example.com/jira/rest/api/2/version/10000","issuesUnresolvedCount":23}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version-unresolved-issue-counts#","title":"Version Unresolved Issue Counts","type":"object","properties":{"self":{"type":"string","format":"uri"},"issuesUnresolvedCount":{"type":"integer"}},"additionalProperties":false,"required":["issuesUnresolvedCount"]}
The move version bean has 2 alternative field value pairs:
position
An absolute position, which may have a value of 'First', 'Last', 'Earlier' or 'Later'
after
A version to place this version after. The value should be the self link of another version
]]>Example{"after":"http://www.example.com/jira/rest/api/2/version/10000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version-move#","title":"Version Move","type":"object","properties":{"after":{"type":"string","format":"uri"},"position":{"type":"string","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/version#","title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}Example{"links":[{"self":"http://www.example.com/version/10000/SomeGlobalId","name":"Version 1","link":{ "globalId": "SomeGlobalId", "myCustomLinkProperty": true, "colors": [ "red", "green", "blue" ]}},{"self":"http://www.example.com/version/10101/SomeGlobalId","name":"Version 2","link":{ "globalId": "SomeGlobalId" }}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-remote-entity-link#","title":"List of Remote Entity Link","type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}Example{"links":[{"self":"http://www.example.com/version/10000/AnotherGlobalId","name":"Version 1","link":{ "globalId": "AnotherGlobalId", "myCustomLinkProperty": false, "colors": [ "cyan", "magenta", "yellow" ]}},{"self":"http://www.example.com/version/10000/SomeGlobalId","name":"Version 1","link":{ "globalId": "SomeGlobalId", "myCustomLinkProperty": true, "colors": [ "red", "green", "blue" ]}}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/remote-entity-link#","title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}Example{"globalId":"SomeGlobalId","myCustomLinkProperty":true,"colors":["red","green","blue"],"notes":["Remote version links may take any well-formed JSON shape that is desired,","provided that they fit within the maximum buffer size allowed,","which is currently 32,768 characters."]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}ExampleReturned if the remote version link is created or updated successfully.
The document has no content, and a Example{"self":"http://www.example.com/version/10000/SomeGlobalId","name":"Version 1","link":{ "globalId": "SomeGlobalId", "myCustomLinkProperty": true, "colors": [ "red", "green", "blue" ]}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/remote-entity-link#","title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}Example{"globalId":"SomeGlobalId","myCustomLinkProperty":true,"colors":["red","green","blue"],"notes":["Remote version links may take any well-formed JSON shape that is desired,","provided that they fit within the maximum buffer size allowed,","which is currently 32,768 characters."]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}ExampleReturned if the remote version link is created or updated successfully.
The document has no content, and a Schema{"id":"https://docs.atlassian.com/jira/REST/schema/delete-and-replace-version#","title":"Delete And Replace Version","type":"object"}Example[{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},{"self":"http://www.example.com/jira/rest/api/2/project/ABC","id":"10001","key":"ABC","name":"Alphabetical","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10001","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10001","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10001","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10001"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-project#","title":"List of Project","type":"array","items":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}}}Example{"key":"EX","name":"Example","projectTypeKey":"business","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-project-management","description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","assigneeType":"PROJECT_LEAD","avatarId":10200,"issueSecurityScheme":10001,"permissionScheme":10011,"notificationScheme":10021,"categoryId":10120}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-input#","title":"Project Input","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"projectTypeKey":{"type":"string"},"projectTemplateKey":{"type":"string"},"description":{"type":"string"},"lead":{"type":"string"},"url":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer"},"issueSecurityScheme":{"type":"integer"},"permissionScheme":{"type":"integer"},"notificationScheme":{"type":"integer"},"categoryId":{"type":"integer"}},"additionalProperties":false}Example{"self":"http://example/jira/rest/api/2/project/10042","id":10010,"key":"EX"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-identity#","title":"Project Identity","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"integer"},"key":{"type":"string"}},"additionalProperties":false}
All project keys associated with the project will only be returned if expand=projectKeys.
]]>
Example{"expand":"description,lead,url,projectKeys","self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"components":[{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10000","name":"Component 1","description":"This is a JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/task.png","name":"Task","subtask":false,"avatarId":1},{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"avatarId":10002}],"url":"http://www.example.com/jira/browse/EX","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"http://www.example.com/jira/rest/api/2/project/EX/role/10000"},"avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project#","title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Only non null values sent in JSON will be updated in the project.
Values available for the assigneeType field are: "PROJECT_LEAD" and "UNASSIGNED".
]]>Example{"key":"EX","name":"Example","projectTypeKey":"business","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-project-management","description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","assigneeType":"PROJECT_LEAD","avatarId":10200,"issueSecurityScheme":10001,"permissionScheme":10011,"notificationScheme":10021,"categoryId":10120}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-input#","title":"Project Input","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"projectTypeKey":{"type":"string"},"projectTemplateKey":{"type":"string"},"description":{"type":"string"},"lead":{"type":"string"},"url":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer"},"issueSecurityScheme":{"type":"integer"},"permissionScheme":{"type":"integer"},"notificationScheme":{"type":"integer"},"categoryId":{"type":"integer"}},"additionalProperties":false}Example{"expand":"description,lead,url,projectKeys","self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"components":[{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10000","name":"Component 1","description":"This is a JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/task.png","name":"Task","subtask":false,"avatarId":1},{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"avatarId":10002}],"url":"http://www.example.com/jira/browse/EX","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"http://www.example.com/jira/rest/api/2/project/EX/role/10000"},"avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project#","title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"id":"1000","owner":"fred","isSystemAvatar":true,"isSelected":false,"isDeletable":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"},"selected":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}Example[{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","name":"Task","subtask":false,"statuses":[{"self":"http://localhost:8090/jira/rest/api/2.0/status/10000","description":"The issue is currently being worked on.","iconUrl":"http://localhost:8090/jira/images/icons/progress.gif","name":"In Progress","id":"10000"},{"self":"http://localhost:8090/jira/rest/api/2.0/status/5","description":"The issue is closed.","iconUrl":"http://localhost:8090/jira/images/icons/closed.gif","name":"Closed","id":"5"}]}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-issue-type-with-status#","title":"List of Issue Type With Status","type":"array","items":{"title":"Issue Type With Status","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"statuses":{"type":"array","items":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}}},"additionalProperties":false,"required":["subtask"]}}Example{"system":[{"id":"1000","owner":"fred","isSystemAvatar":true,"isSelected":false,"isDeletable":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"},"selected":false}],"custom":[{"id":"1010","owner":"andrew","isSystemAvatar":false,"isSelected":false,"isDeletable":true,"urls":{"16x16":"http://localhost:8090/jira/secure/useravatar?size=xsmall&avatarId=10080","24x24":"http://localhost:8090/jira/secure/useravatar?size=small&avatarId=10080","32x32":"http://localhost:8090/jira/secure/useravatar?size=medium&avatarId=10080","48x48":"http://localhost:8090/jira/secure/useravatar?avatarId=10080"},"selected":false}]}Schema{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}}},"additionalProperties":false}Example{"expand":"description,lead,url,projectKeys","self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"components":[{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10000","name":"Component 1","description":"This is a JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/task.png","name":"Task","subtask":false,"avatarId":1},{"self":"http://localhost:8090/jira/rest/api/2.0/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"http://localhost:8090/jira/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"avatarId":10002}],"url":"http://www.example.com/jira/browse/EX","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"http://www.example.com/jira/rest/api/2/project/EX/role/10000"},"avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project#","title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example[{"self":"http://www.example.com/jira/rest/api/2/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000},{"self":"http://www.example.com/jira/rest/api/2/version/10010","id":"10010","description":"Minor Bugfix version","name":"Next Version","archived":false,"released":false,"overdue":false,"projectId":10000}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-version#","title":"List of Version","type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}}paginated.
Results can be ordered by the following fields:
sequence
name
startDate
releaseDate
]]>Example{"self":"http://www.example.com/jira/rest/api/2/project/PR/version?startAt=0&maxResults=2","nextPage":"http://www.example.com/jira/rest/api/2/project/PR/version?startAt=2&maxResults=2","maxResults":2,"startAt":0,"total":7,"isLast":false,"values":[{"self":"http://www.example.com/jira/rest/api/2/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000},{"self":"http://www.example.com/jira/rest/api/2/version/10010","id":"10010","description":"Minor Bugfix version","name":"Next Version","archived":false,"released":false,"overdue":false,"projectId":10000}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/page-of-version#","title":"Page of Version","type":"object","properties":{"self":{"type":"string","format":"uri"},"nextPage":{"type":"string","format":"uri"},"maxResults":{"type":"integer"},"startAt":{"type":"integer"},"total":{"type":"integer"},"isLast":{"type":"boolean"},"values":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}}},"additionalProperties":false,"required":["maxResults","startAt"]}Example[{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10000","name":"Component 1","description":"This is a JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000},{"self":"http://www.example.com/jira/rest/api/2/component/10000","id":"10050","name":"PXA","description":"This is a another JIRA component","lead":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-component#","title":"List of Component","type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}}}Example{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[{"name":"jira-user","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-user"},{"name":"jira-admin","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-admin"},{"name":"important","self":"http://www.example.com/jira/rest/api/2/group?groupname=important"}]},"applicationRoles":{"size":1,"items":[]},"expand":"groups,applicationRoles"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}Example{"password":"abracadabra","emailAddress":"eddie@atlassian.com","displayName":"Eddie of Atlassian"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user-write#","title":"User Write","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"emailAddress":{"type":"string"},"displayName":{"type":"string"},"notification":{"type":"string"},"applicationKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"self":"http://www.example.com/jirahttp://www.example.com/jira/rest/api/2/user/charlie","key":"charlie","name":"eddie","emailAddress":"eddie@atlassian.com","displayName":"Eddie of Atlassian"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}Example{"password":"new password","currentPassword":"current password"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/password#","title":"Password","type":"object","properties":{"password":{"type":"string"},"currentPassword":{"type":"string"}},"additionalProperties":false}Example{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-properties-keys#","title":"Entity Properties Keys","type":"object","properties":{"keys":{"type":"array","items":{"title":"Entity Property Key","type":"object","properties":{"self":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
You can use this resource to store a custom data against the user identified by the key or by the id. The user
who stores the data is required to have permissions to administer the user.
]]>Example{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-property#","title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}Schema{"type":"array","items":{"type":"string"}}
This is a "dry run" of the password policy validation that would be performed by the various user creation
methods in {@link com.atlassian.jira.bc.user.UserService}. The intended use is for a user interface to
verify the password on the fly as the user enters it (or upon moving to another input field or delaying
for some time period, and so on). At the very least, the username and password must be non-empty to run
these validations. Note that this validation is only for the password policy itself; other validations,
such as whether or not a user with the same name already exists, are not checked by this request.
]]>Example{"username":"fred","displayName":"Fred Normal","emailAddress":"fred@example.com","password":"secret"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/password-policy-create-user#","title":"Password Policy Create User","type":"object","properties":{"username":{"type":"string"},"displayName":{"type":"string"},"emailAddress":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false}Schema{"type":"array","items":{"type":"string"}}
This is a "dry run" of the password policy validation that would be performed by the various ways to
update a user's password, such as the {@link com.atlassian.jira.web.action.user.ChangePassword ChangePassword}
and {@link com.atlassian.jira.web.action.user.ResetPassword ResetPassword} web actions.
The intended use is for a user interface to verify the password on the fly as the user enters it (or upon
moving to another input field or delaying for some time period, and so on). At the very least, the username
and new password must be non-empty to run these validations, and the user must actually exist. Note that this
validation is only for the password policy itself; other validations that would be performed upon submitting
the request are not checked by this request. In particular, the old password (if specified) is deliberately
not verified by this request, as doing so could cause security problems.
]]>Example{"username":"fred","oldPassword":"secret","newPassword":"correcthorsebatterystaple"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/password-policy-update-user#","title":"Password Policy Update User","type":"object","properties":{"username":{"type":"string"},"oldPassword":{"type":"string"},"newPassword":{"type":"string"}},"additionalProperties":false}Schema{"type":"array","items":{"type":"string"}}Example{"expand":"notificationSchemeEvents,user,group,projectRole,field,all","id":10100,"self":"http://example.com/jira/rest/api/2/notificationscheme/10010","name":"notification scheme name","description":"description","notificationSchemeEvents":[{"event":{"id":1,"name":"Issue created","description":"Event published when issue is created"},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","projectRole":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","user":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","field":{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]},{"event":{"id":20,"name":"Custom event","description":"Custom event which is published together with issue created event","templateEvent":{"id":1,"name":"Issue created","description":"Event published when issue is created"}},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","projectRole":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","user":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","field":{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/notification-scheme#","title":"Notification Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"notificationSchemeEvents":{"type":"array","items":{"title":"Notification Scheme Event","type":"object","properties":{"event":{"$ref":"#/definitions/notification-event"},"notifications":{"type":"array","items":{"title":"Notification","type":"object","anyOf":[{"$ref":"#/definitions/custom-field-value-notification"},{"$ref":"#/definitions/email-notification"},{"$ref":"#/definitions/group-notification"},{"$ref":"#/definitions/project-role-notification"},{"$ref":"#/definitions/role-notification"},{"$ref":"#/definitions/user-notification"}]}}},"additionalProperties":false}}},"definitions":{"custom-field-value-notification":{"title":"Custom Field Value Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"email-notification":{"title":"Email Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"emailAddress":{"type":"string"}},"additionalProperties":false},"group-notification":{"title":"Group Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}},"additionalProperties":false},"notification-event":{"title":"Notification Event","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"templateEvent":{"$ref":"#/definitions/notification-event"}},"additionalProperties":false},"project-role-notification":{"title":"Project Role Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"role-notification":{"title":"Role Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"}},"additionalProperties":false},"user-notification":{"title":"User Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}},"additionalProperties":false}Example{"type":{"name":"Duplicate"},"inwardIssue":{"key":"HSP-1"},"outwardIssue":{"key":"MKY-1"},"comment":{"body":"Linked related issue!","visibility":{"type":"group","value":"jira-software-users"}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/link-issue-request#","title":"Link Issue Request","type":"object","properties":{"type":{"title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"}},"additionalProperties":false},"inwardIssue":{"$ref":"#/definitions/issue-ref"},"outwardIssue":{"$ref":"#/definitions/issue-ref"},"comment":{"title":"Comment","type":"object","properties":{"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"additionalProperties":false}},"definitions":{"issue-ref":{"title":"Issue Ref","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"fields":{"title":"Fields","type":"object","properties":{"summary":{"type":"string"},"status":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"issuetype":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]},"priority":{"title":"Priority","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"id":"10001","type":{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"http://www.example.com/jira/rest/api/2//issueLinkType/1000"},"inwardIssue":{"id":"10004","key":"PRJ-3","self":"http://www.example.com/jira/rest/api/2/issue/PRJ-3","fields":{"status":{"iconUrl":"http://www.example.com/jira//images/icons/statuses/open.png","name":"Open"}}},"outwardIssue":{"id":"10004L","key":"PRJ-2","self":"http://www.example.com/jira/rest/api/2/issue/PRJ-2","fields":{"status":{"iconUrl":"http://www.example.com/jira//images/icons/statuses/open.png","name":"Open"}}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-link#","title":"Issue Link","type":"object","properties":{"id":{"type":"string"},"self":{"type":"string","format":"uri"},"type":{"title":"Issue Link Type","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"inward":{"type":"string"},"outward":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"inwardIssue":{"$ref":"#/definitions/issue-ref"},"outwardIssue":{"$ref":"#/definitions/issue-ref"}},"definitions":{"issue-ref":{"title":"Issue Ref","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"self":{"type":"string","format":"uri"},"fields":{"title":"Fields","type":"object","properties":{"summary":{"type":"string"},"status":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"issuetype":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]},"priority":{"title":"Priority","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}Example{"Administrators":"http://www.example.com/jira/rest/api/2/project/MKY/role/10002","Users":"http://www.example.com/jira/rest/api/2/project/MKY/role/10001","Developers":"http://www.example.com/jira/rest/api/2/project/MKY/role/10000"}Schema{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{"id":10360,"categorisedActors":{"atlassian-user-role-actor":["admin"],"atlassian-group-role-actor":["jira-developers"]}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role-actors-update#","title":"Project Role Actors Update","type":"object","properties":{"id":{"type":"integer"},"categorisedActors":{"type":"object","patternProperties":{".+":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}Example{ "user" : ["admin"] } or
{ "group" : ["jira-developers"] }Schema{"type":"object","patternProperties":{".+":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-role#","title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}
Delete a user from the role: /rest/api/2/project/{projectIdOrKey}/role/{roleId}?user={username}
Delete a group from the role: /rest/api/2/project/{projectIdOrKey}/role/{roleId}?group={groupname}
]]>Example{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-properties-keys#","title":"Entity Properties Keys","type":"object","properties":{"keys":{"type":"array","items":{"title":"Entity Property Key","type":"object","properties":{"self":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
You can use this resource to store a custom data against the comment identified by the key or by the id. The user
who stores the data is required to have permissions to administer the comment.
]]>Example{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-property#","title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}Example[{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10001","id":"10001","name":"SECOND","description":"Second Project Category"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-project-category#","title":"List of Project Category","type":"array","items":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}}Example{"name":"CREATED","description":"Created Project Category"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10100","id":"10100","name":"CREATED","description":"Created Project Category"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}Example{"name":"UPDATED","description":"Updated Project Category"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10100","id":"10100","name":"UPDATED","description":"Updated Project Category"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-category#","title":"Project Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}Example[{"self":"http://www.example.com/jira/rest/api/2/priority/3","statusColor":"#009900","description":"Major loss of function.","iconUrl":"http://www.example.com/jira/images/icons/priorities/major.png","name":"Major"},{"self":"http://www.example.com/jira/rest/api/2/priority/5","statusColor":"#cfcfcf","description":"Very little impact.","iconUrl":"http://www.example.com/jira/images/icons/priorities/trivial.png","name":"Trivial"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-priority#","title":"List of Priority","type":"array","items":{"title":"Priority","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}}Example{"self":"http://www.example.com/jira/rest/api/2/priority/3","statusColor":"#009900","description":"Major loss of function.","iconUrl":"http://www.example.com/jira/images/icons/priorities/major.png","name":"Major"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/priority#","title":"Priority","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"}},"additionalProperties":false}Example[{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"JIRA Software","defaultGroups":["jira-software-users"],"selectedByDefault":false,"defined":false,"numberOfSeats":10,"remainingSeats":5,"userCount":5,"userCountDescription":"5 developers","hasUnlimitedSeats":false,"platform":false},{"key":"jira-core","groups":["jira-core-users"],"name":"JIRA Core","defaultGroups":["jira-core-users"],"selectedByDefault":false,"defined":false,"numberOfSeats":1,"remainingSeats":1,"userCount":0,"userCountDescription":"0 users","hasUnlimitedSeats":false,"platform":true}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-application-role#","title":"List of Application Role","type":"array","items":{"title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}}Example{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"JIRA Software","defaultGroups":["jira-software-users"],"selectedByDefault":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-application-role#","title":"List of Application Role","type":"array","items":{"title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}}Example[{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"JIRA Software","defaultGroups":["jira-software-users"],"selectedByDefault":false,"defined":false,"numberOfSeats":10,"remainingSeats":5,"userCount":5,"userCountDescription":"5 developers","hasUnlimitedSeats":false,"platform":false},{"key":"jira-core","groups":["jira-core-users"],"name":"JIRA Core","defaultGroups":["jira-core-users"],"selectedByDefault":false,"defined":false,"numberOfSeats":1,"remainingSeats":1,"userCount":0,"userCountDescription":"0 users","hasUnlimitedSeats":false,"platform":true}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-application-role#","title":"List of Application Role","type":"array","items":{"title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}}Example{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"JIRA Software","defaultGroups":["jira-software-users"],"selectedByDefault":false,"defined":false,"numberOfSeats":10,"remainingSeats":5,"userCount":5,"userCountDescription":"5 developers","hasUnlimitedSeats":false,"platform":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/application-role#","title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}
Optional: If versionHash is passed through the If-Match header the request will be rejected if not the
same as server]]>Example{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"JIRA Software","defaultGroups":["jira-software-users"],"selectedByDefault":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/application-role#","title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}Example{"key":"jira-software","groups":["jira-software-users","jira-testers"],"name":"JIRA Software","defaultGroups":["jira-software-users"],"selectedByDefault":false,"defined":false,"numberOfSeats":10,"remainingSeats":5,"userCount":5,"userCountDescription":"5 developers","hasUnlimitedSeats":false,"platform":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/application-role#","title":"Application Role","type":"object","properties":{"key":{"type":"string"},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"defaultGroups":{"type":"array","items":{"type":"string"}},"selectedByDefault":{"type":"boolean"},"defined":{"type":"boolean"},"numberOfSeats":{"type":"integer"},"remainingSeats":{"type":"integer"},"userCount":{"type":"integer"},"userCountDescription":{"type":"string"},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean"}},"additionalProperties":false}Example{"name":"All Open Bugs","description":"Lists all open bugs","jql":"type = Bug and resolution is empty","favourite":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite"]}Example{"self":"http://www.example.com/jira/rest/api/2/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"http://www.example.com/jira/issues/?filter=10000","searchUrl":"http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"sharePermissions":[],"subscriptions":{"size":0,"items":[],"max-results":1000,"start-index":0,"end-index":0}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite"]}Example{"self":"http://www.example.com/jira/rest/api/2/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"http://www.example.com/jira/issues/?filter=10000","searchUrl":"http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"sharePermissions":[],"subscriptions":{"size":0,"items":[],"max-results":1000,"start-index":0,"end-index":0}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite"]}Example{"name":"All Open Bugs","description":"Lists all open bugs","jql":"type = Bug and resolution is empty","favourite":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite"]}Example{"self":"http://www.example.com/jira/rest/api/2/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"http://www.example.com/jira/issues/?filter=10000","searchUrl":"http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"sharePermissions":[],"subscriptions":{"size":0,"items":[],"max-results":1000,"start-index":0,"end-index":0}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/filter#","title":"Filter","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false,"required":["favourite"]}Example[{"self":"http://www.example.com/jira/rest/api/2/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"http://www.example.com/jira/issues/?filter=10000","searchUrl":"http://www.example.com/jira/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"sharePermissions":[],"subscriptions":{"size":0,"items":[],"max-results":1000,"start-index":0,"end-index":0}},{"self":"http://www.example.com/jira/rest/api/2/filter/10010","id":"10010","name":"My issues","description":"Issues assigned to me","owner":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"jql":"assignee = currentUser() and resolution is empty","viewUrl":"http://www.example.com/jira/issues/?filter=10010","searchUrl":"http://www.example.com/jira/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty","favourite":true,"sharePermissions":[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}}],"subscriptions":{"size":0,"items":[],"max-results":1000,"start-index":0,"end-index":0}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-filter#","title":"List of Filter","type":"array","items":{"title":"Filter","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"owner":{"$ref":"#/definitions/user"},"jql":{"type":"string"},"viewUrl":{"type":"string","format":"uri"},"searchUrl":{"type":"string","format":"uri"},"favourite":{"type":"boolean"},"sharePermissions":{"type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}},"sharedUsers":{"title":"User Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/user"}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"subscriptions":{"title":"Filter Subscription Bean List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"Filter Subscription","type":"object","properties":{"id":{"type":"integer"},"user":{"$ref":"#/definitions/user"},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]}},"additionalProperties":false,"required":["favourite"]},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}}}Example{"scope":"GLOBAL"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default-share-scope#","title":"Default Share Scope","type":"object","properties":{"scope":{"type":"string","enum":["GLOBAL","PRIVATE"]}},"additionalProperties":false}Example{"scope":"GLOBAL"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default-share-scope#","title":"Default Share Scope","type":"object","properties":{"scope":{"type":"string","enum":["GLOBAL","PRIVATE"]}},"additionalProperties":false}Example{"scope":"GLOBAL"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/default-share-scope#","title":"Default Share Scope","type":"object","properties":{"scope":{"type":"string","enum":["GLOBAL","PRIVATE"]}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-column-layout-item#","title":"List of Column Layout Item","type":"array","items":{"title":"Column Layout Item","type":"object","properties":{"columnHeadingKey":{"type":"string"},"id":{"type":"string"},"navigableField":{"title":"Navigable Field","type":"object","properties":{"columnCssClass":{"type":"string"},"columnHeadingKey":{"type":"string"},"defaultSortOrder":{"type":"string"},"hiddenFieldId":{"type":"string"},"sortComparatorSource":{"title":"Field Comparator Source","type":"object"},"sorter":{"title":"Lucene Field Sorter","type":"object","properties":{"comparator":{"type":"object"},"documentConstant":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"position":{"type":"integer"}},"additionalProperties":false,"required":["position"]}}Example[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}},{"id":10010,"type":"project","project":{"self":"http://www.example.com/jira/rest/api/2/project/MKY","id":"10002","key":"MKY","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10002","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10002","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10002","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10002"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"role":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}},{"id":10010,"type":"group","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-filter-permission#","title":"List of Filter Permission","type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}}}Example{"type":"group","groupname":"jira-administrators"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/share-permission-input#","title":"Share Permission Input","type":"object","properties":{"type":{"type":"string"},"projectId":{"type":"string"},"groupname":{"type":"string"},"projectRoleId":{"type":"string"}},"additionalProperties":false}Example[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}}},{"id":10010,"type":"project","project":{"self":"http://www.example.com/jira/rest/api/2/project/MKY","id":"10002","key":"MKY","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10002","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10002","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10002","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10002"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"role":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]}},{"id":10010,"type":"group","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-filter-permission#","title":"List of Filter Permission","type":"array","items":{"title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"additionalProperties":false},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}}}Example{"id":10000,"type":"global"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/filter-permission#","title":"Filter Permission","type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"project":{"title":"Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"components":{"type":"array","items":{"title":"Component","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"lead":{"$ref":"#/definitions/user"},"leadUserName":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"$ref":"#/definitions/user"},"realAssigneeType":{"type":"string","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"$ref":"#/definitions/user"},"isAssigneeTypeValid":{"type":"boolean"},"project":{"type":"string"},"projectId":{"type":"integer"}},"additionalProperties":false,"required":["isAssigneeTypeValid"]}},"issueTypes":{"type":"array","items":{"title":"Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"}},"additionalProperties":false,"required":["subtask"]}},"url":{"type":"string"},"email":{"type":"string"},"assigneeType":{"type":"string","enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","items":{"title":"Version","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string","format":"uri"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"archived":{"type":"boolean"},"released":{"type":"boolean"},"overdue":{"type":"boolean"},"userStartDate":{"type":"string"},"userReleaseDate":{"type":"string"},"project":{"type":"string"},"projectId":{"type":"integer"},"moveUnfixedIssuesTo":{"type":"string","format":"uri"},"operations":{"type":"array","items":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"remotelinks":{"type":"array","items":{"title":"Remote Entity Link","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"link":{}},"additionalProperties":false}}},"additionalProperties":false}},"name":{"type":"string"},"roles":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"projectKeys":{"type":"array","items":{"type":"string"}},"projectCategory":{"title":"Project Category","type":"object","properties":{"self":{"type":"string","format":"uri"},"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"}},"additionalProperties":false},"projectTypeKey":{"type":"string"}},"additionalProperties":false},"role":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"group":{"$ref":"#/definitions/group"}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["size"]},"user":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example[{"key":"business","formattedKey":"Business","descriptionI18nKey":"Project type for business projects","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"},{"key":"software","formattedKey":"Software","descriptionI18nKey":"Project type for software projects","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#AAAAAA"}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-project-type#","title":"List of Project Type","type":"array","items":{"title":"Project Type","type":"object","properties":{"key":{"type":"string"},"formattedKey":{"type":"string"},"descriptionI18nKey":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"}},"additionalProperties":false}}Example{"key":"business","formattedKey":"Business","descriptionI18nKey":"Project type for business projects","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-type#","title":"Project Type","type":"object","properties":{"key":{"type":"string"},"formattedKey":{"type":"string"},"descriptionI18nKey":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"}},"additionalProperties":false}Example{"key":"business","formattedKey":"Business","descriptionI18nKey":"Project type for business projects","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/project-type#","title":"Project Type","type":"object","properties":{"key":{"type":"string"},"formattedKey":{"type":"string"},"descriptionI18nKey":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"}},"additionalProperties":false}
Permission scheme is a collection of permission grants. Each grant holds information about a permission granted to a group of users. These groups of users
are called holders and are defined by two values: type and parameter. Type can be for example "group", or "user" and parameter is
an additional specification. In case of groups the parameter will hold the group name, and in case of users: user id.
Types can be extended by plugins, but here is a list of all built-in types (expected parameter contents are given in parenthesis):
anyone
Grant for anonymous users.
group (group name)
Grant for the specified group
user (user id)
Grant for the specified user
projectRole (project role id)
Grant for the specified project role
reporter
Grant for an issue reported
projectLead
Grant for a project lead
assignee
Grant for a user assigned to an issue
userCustomField (custom field id)
Grant for a user selected in the specified custom field
groupCustomField (custom field id)
Grant for a user selected in the specified custom field
There are also two "hidden" holder types, which are not available in on-demand but can be used in enterprise instances:
reporterWithCreatePermission
This type can be used only with BROWSE_PROJECTS permission to show only projects where the user has create permission and issues within that where they are the reporter.
assigneeWithAssignablePermission
This type can be used only with BROWSE_PROJECTS permission to show only projects where the user has the assignable permission and issues within that where they are the assignee.
In addition to specifying the permission holder, a permission must be selected. That way a pair of (holder, permission) is created
and it represents a single permission grant.
Custom permissions can be added by plugins, but below we present a set of built-in JIRA permissions.
ADMINISTER_PROJECTS
BROWSE_PROJECTS
VIEW_DEV_TOOLS
VIEW_READONLY_WORKFLOW
CREATE_ISSUES
EDIT_ISSUES
TRANSITION_ISSUES
SCHEDULE_ISSUES
MOVE_ISSUES
ASSIGN_ISSUES
ASSIGNABLE_USER
RESOLVE_ISSUES
CLOSE_ISSUES
MODIFY_REPORTER
DELETE_ISSUES
LINK_ISSUES
SET_ISSUE_SECURITY
VIEW_VOTERS_AND_WATCHERS
MANAGE_WATCHERS
ADD_COMMENTS
EDIT_ALL_COMMENTS
EDIT_OWN_COMMENTS
DELETE_ALL_COMMENTS
DELETE_OWN_COMMENTS
CREATE_ATTACHMENTS
DELETE_ALL_ATTACHMENTS
DELETE_OWN_ATTACHMENTS
WORK_ON_ISSUES
EDIT_OWN_WORKLOGS
EDIT_ALL_WORKLOGS
DELETE_OWN_WORKLOGS
DELETE_ALL_WORKLOGS
]]>
By default only shortened beans are returned. If you want to include permissions of all the schemes,
then specify the permissions expand parameter. Permissions will be included also if you specify
any other expand parameter.
]]>Example{"permissionSchemes":[{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/10000","name":"Example permission scheme","description":"description"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-schemes#","title":"Permission Schemes","type":"object","properties":{"permissionSchemes":{"type":"array","items":{"title":"Permission Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}}},"additionalProperties":false}Example{"name":"Example permission scheme","description":"description","permissions":[{"holder":{"type":"group","parameter":"jira-developers"},"permission":"ADMINISTER_PROJECTS"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/10000","name":"Example permission scheme","description":"description","permissions":[{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-developers","expand":"group"},"permission":"ADMINISTER_PROJECTS"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/10000","name":"Example permission scheme","description":"description","permissions":[{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-developers","expand":"group"},"permission":"ADMINISTER_PROJECTS"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
If the permissions list is present then it will be set in the permission scheme, which basically means it will overwrite any permission grants that
existed in the permission scheme. Sending an empty list will remove all permission grants from the permission scheme.
To update just the name and description, do not send permissions list at all.
To add or remove a single permission grant instead of updating the whole list at once use the {schemeId}/permission/ resource.
]]>Example{"name":"Example permission scheme","description":"description","permissions":[{"holder":{"type":"group","parameter":"jira-developers"},"permission":"ADMINISTER_PROJECTS"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/10000","name":"Example permission scheme","description":"description","permissions":[{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-developers","expand":"group"},"permission":"ADMINISTER_PROJECTS"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-scheme#","title":"Permission Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Example{"permissions":[{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-developers","expand":"group"},"permission":"ADMINISTER_PROJECTS"}],"expand":"user,group,projectRole,field,all"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-grants#","title":"Permission Grants","type":"object","properties":{"permissions":{"type":"array","items":{"title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}},"expand":{"type":"string"}},"additionalProperties":false}Example{"holder":{"type":"group","parameter":"jira-developers"},"permission":"ADMINISTER_PROJECTS"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-grant#","title":"Permission Grant","type":"object","properties":{"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-developers","expand":"group"},"permission":"ADMINISTER_PROJECTS"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-grant#","title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/2/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-developers","expand":"group"},"permission":"ADMINISTER_PROJECTS"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/permission-grant#","title":"Permission Grant","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"holder":{"title":"Permission Holder","type":"object","properties":{"type":{"type":"string"},"parameter":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false},"permission":{"type":"string"}},"additionalProperties":false}Example{"errorMessages":[],"errors":{"projectKey":"A project with that project key already exists."}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/error-collection#","title":"Error Collection","type":"object","properties":{"errorMessages":{"type":"array","items":{"type":"string"}},"errors":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"status":{"type":"integer"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}Example{"id":10100,"issues":[{"id":10100,"url":"/jira/browse/SCRUM-2","key":"SCRUM-2","summary":"Another issue","assigneeKey":"admin","statusId":10000},{"id":10000,"url":"/jira/browse/SCRUM-1","key":"SCRUM-1","summary":"First issue!","assigneeKey":"","statusId":10000}],"issuesMetadata":{"maxResults":2,"total":2},"statuses":[{"id":10000,"name":"To Do"},{"id":3,"name":"In Progress"},{"id":10001,"name":"Done"}],"people":{"admin":{"key":"admin","displayName":"admin","avatarUrl":"http://localhost:2990/jira/secure/useravatar?avatarId=10340"}},"columns":[{"name":"To Do","statusIds":[10000]},{"name":"In Progress","statusIds":[3]},{"name":"Done","statusIds":[10001]}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/board-data-jsonable#","title":"Board Data Jsonable","type":"object","properties":{"id":{"type":"integer"},"issues":{"type":"array","items":{"title":"Board Issue Jsonable","type":"object","properties":{"id":{"type":"integer"},"url":{"type":"string"},"key":{"type":"string"},"summary":{"type":"string"},"assigneeKey":{"type":"string"},"statusId":{"type":"integer"}},"additionalProperties":false}},"issuesMetadata":{"title":"Board Issue Metadata Jsonable","type":"object","properties":{"maxResults":{"type":"integer"},"total":{"type":"integer"}},"additionalProperties":false,"required":["maxResults","total"]},"statuses":{"type":"array","items":{"title":"Board Status Jsonable","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"additionalProperties":false}},"people":{"type":"object","patternProperties":{".+":{"title":"Board User Jsonable","type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"columns":{"type":"array","items":{"title":"Board Column Jsonable","type":"object","properties":{"name":{"type":"string"},"statusIds":{"type":"array","items":{"type":"integer"}}},"additionalProperties":false}}},"additionalProperties":false}Example{"issueSecuritySchemes":[{"self":"http://www.example.com/jira/rest/api/2/issuesecurityschemes/1000","id":1000,"name":"Default Issue Security Scheme","description":"Description for the default issue security scheme","defaultSecurityLevelId":10021}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/security-schemes#","title":"Security Schemes","type":"object","properties":{"issueSecuritySchemes":{"type":"array","items":{"title":"Security Scheme","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultSecurityLevelId":{"type":"integer"},"levels":{"type":"array","items":{"title":"Security Level","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issuesecurityschemes/1000","id":1000,"name":"Default Issue Security Scheme","description":"Description for the default issue security scheme","defaultSecurityLevelId":10021,"levels":[{"self":"http://www.example.com/jira/rest/api/2/securitylevel/10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/security-scheme#","title":"Security Scheme","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultSecurityLevelId":{"type":"integer"},"levels":{"type":"array","items":{"title":"Security Level","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}paginated list of notification schemes. In order to access notification scheme, the calling user is
required to have permissions to administer at least one project associated with the requested notification scheme. Each scheme contains
a list of events and recipient configured to receive notifications for these events. Consumer should allow events without recipients to appear in response.
The list is ordered by the scheme's name.
Follow the documentation of /notificationscheme/{id} resource for all details about returned value.]]>Example{"maxResults":6,"startAt":1,"total":5,"isLast":false,"values":[{"expand":"notificationSchemeEvents,user,group,projectRole,field,all","id":10100,"self":"http://example.com/jira/rest/api/2/notificationscheme/10010","name":"notification scheme name","description":"description","notificationSchemeEvents":[{"event":{"id":1,"name":"Issue created","description":"Event published when issue is created"},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","projectRole":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","user":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","field":{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]},{"event":{"id":20,"name":"Custom event","description":"Custom event which is published together with issue created event","templateEvent":{"id":1,"name":"Issue created","description":"Event published when issue is created"}},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","projectRole":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","user":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","field":{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]}]}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/page-of-notification-scheme#","title":"Page of Notification Scheme","type":"object","properties":{"self":{"type":"string","format":"uri"},"nextPage":{"type":"string","format":"uri"},"maxResults":{"type":"integer"},"startAt":{"type":"integer"},"total":{"type":"integer"},"isLast":{"type":"boolean"},"values":{"type":"array","items":{"title":"Notification Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"notificationSchemeEvents":{"type":"array","items":{"title":"Notification Scheme Event","type":"object","properties":{"event":{"$ref":"#/definitions/notification-event"},"notifications":{"type":"array","items":{"title":"Notification","type":"object","anyOf":[{"$ref":"#/definitions/custom-field-value-notification"},{"$ref":"#/definitions/email-notification"},{"$ref":"#/definitions/group-notification"},{"$ref":"#/definitions/project-role-notification"},{"$ref":"#/definitions/role-notification"},{"$ref":"#/definitions/user-notification"}]}}},"additionalProperties":false}}},"additionalProperties":false}}},"definitions":{"custom-field-value-notification":{"title":"Custom Field Value Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"email-notification":{"title":"Email Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"emailAddress":{"type":"string"}},"additionalProperties":false},"group-notification":{"title":"Group Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}},"additionalProperties":false},"notification-event":{"title":"Notification Event","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"templateEvent":{"$ref":"#/definitions/notification-event"}},"additionalProperties":false},"project-role-notification":{"title":"Project Role Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"role-notification":{"title":"Role Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"}},"additionalProperties":false},"user-notification":{"title":"User Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}},"additionalProperties":false,"required":["maxResults","startAt"]}
Notification recipients can be:
current assignee - the value of the notificationType is CurrentAssignee
issue reporter - the value of the notificationType is Reporter
current user - the value of the notificationType is CurrentUser
project lead - the value of the notificationType is ProjectLead
component lead - the value of the notificationType is ComponentLead
all watchers - the value of the notification type is AllWatchers
configured user - the value of the notification type is User. Parameter will contain key of the user. Information about the user will be provided
if user expand parameter is used.
configured group - the value of the notification type is Group. Parameter will contain name of the group. Information about the group will be provided
if group expand parameter is used.
configured email address - the value of the notification type is EmailAddress, additionally information about the email will be provided.
users or users in groups in the configured custom fields - the value of the notification type is UserCustomField or GroupCustomField. Parameter
will contain id of the custom field. Information about the field will be provided if field expand parameter is used.
configured project role - the value of the notification type is ProjectRole. Parameter will contain project role id. Information about the project role
will be provided if projectRole expand parameter is used.
Please see the example for reference.
The events can be JIRA system events or events configured by administrator. In case of the system events, data about theirs
ids, names and descriptions is provided. In case of custom events, the template event is included as well.]]>Example{"expand":"notificationSchemeEvents,user,group,projectRole,field,all","id":10100,"self":"http://example.com/jira/rest/api/2/notificationscheme/10010","name":"notification scheme name","description":"description","notificationSchemeEvents":[{"event":{"id":1,"name":"Issue created","description":"Event published when issue is created"},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","projectRole":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","user":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","field":{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]},{"event":{"id":20,"name":"Custom event","description":"Custom event which is published together with issue created event","templateEvent":{"id":1,"name":"Issue created","description":"Event published when issue is created"}},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","group":{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","projectRole":{"self":"http://www.example.com/jira/rest/api/2/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers"}]},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","user":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","field":{"id":"customfield_10101","name":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/notification-scheme#","title":"Notification Scheme","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"integer"},"self":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"notificationSchemeEvents":{"type":"array","items":{"title":"Notification Scheme Event","type":"object","properties":{"event":{"$ref":"#/definitions/notification-event"},"notifications":{"type":"array","items":{"title":"Notification","type":"object","anyOf":[{"$ref":"#/definitions/custom-field-value-notification"},{"$ref":"#/definitions/email-notification"},{"$ref":"#/definitions/group-notification"},{"$ref":"#/definitions/project-role-notification"},{"$ref":"#/definitions/role-notification"},{"$ref":"#/definitions/user-notification"}]}}},"additionalProperties":false}}},"definitions":{"custom-field-value-notification":{"title":"Custom Field Value Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"field":{"title":"Field","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"custom":{"type":"boolean"},"orderable":{"type":"boolean"},"navigable":{"type":"boolean"},"searchable":{"type":"boolean"},"clauseNames":{"type":"array","items":{"type":"string"}},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"email-notification":{"title":"Email Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"emailAddress":{"type":"string"}},"additionalProperties":false},"group-notification":{"title":"Group Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}},"additionalProperties":false},"notification-event":{"title":"Notification Event","type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"templateEvent":{"$ref":"#/definitions/notification-event"}},"additionalProperties":false},"project-role-notification":{"title":"Project Role Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"projectRole":{"title":"Project Role","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"id":{"type":"integer"},"description":{"type":"string"},"actors":{"type":"array","items":{"title":"Role Actor","type":"object","properties":{"id":{"type":"integer"},"displayName":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false}},"additionalProperties":false},"role-notification":{"title":"Role Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"}},"additionalProperties":false},"user-notification":{"title":"User Notification","type":"object","properties":{"id":{"type":"integer"},"notificationType":{"type":"string"},"parameter":{"type":"string"},"expand":{"type":"string"},"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}},"additionalProperties":false}Example{"progressUrl":"http://localhost:8080/jira","currentProgress":0,"currentSubTask":"Currently reindexing Change History","type":"FOREGROUND","submittedTime":"2016-02-11T01:20:19.226+0000","startTime":"2016-02-11T01:20:19.226+0000","finishTime":"2016-02-11T01:20:19.226+0000","success":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/reindex#","title":"Reindex","type":"object","properties":{"progressUrl":{"type":"string"},"currentProgress":{"type":"integer"},"currentSubTask":{"type":"string"},"type":{"type":"string","enum":["FOREGROUND","BACKGROUND","BACKGROUND_PREFFERED","BACKGROUND_PREFERRED"]},"submittedTime":{"type":"string"},"startTime":{"type":"string"},"finishTime":{"type":"string"},"success":{"type":"boolean"}},"additionalProperties":false,"required":["success"]}Example{"progressUrl":"http://localhost:8080/jira","currentProgress":0,"currentSubTask":"Currently reindexing Change History","type":"FOREGROUND","submittedTime":"2016-02-11T01:20:19.226+0000","startTime":"2016-02-11T01:20:19.226+0000","finishTime":"2016-02-11T01:20:19.226+0000","success":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/reindex#","title":"Reindex","type":"object","properties":{"progressUrl":{"type":"string"},"currentProgress":{"type":"integer"},"currentSubTask":{"type":"string"},"type":{"type":"string","enum":["FOREGROUND","BACKGROUND","BACKGROUND_PREFFERED","BACKGROUND_PREFERRED"]},"submittedTime":{"type":"string"},"startTime":{"type":"string"},"finishTime":{"type":"string"},"success":{"type":"boolean"}},"additionalProperties":false,"required":["success"]}
Use either explicitly specified issue IDs or a JQL query to select issues to reindex.]]>Example{"progressUrl":"http://localhost:8080/jira","currentProgress":0,"currentSubTask":"Currently reindexing Change History","type":"FOREGROUND","submittedTime":"2016-02-11T01:20:19.226+0000","startTime":"2016-02-11T01:20:19.226+0000","finishTime":"2016-02-11T01:20:19.226+0000","success":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/reindex#","title":"Reindex","type":"object","properties":{"progressUrl":{"type":"string"},"currentProgress":{"type":"integer"},"currentSubTask":{"type":"string"},"type":{"type":"string","enum":["FOREGROUND","BACKGROUND","BACKGROUND_PREFFERED","BACKGROUND_PREFERRED"]},"submittedTime":{"type":"string"},"startTime":{"type":"string"},"finishTime":{"type":"string"},"success":{"type":"boolean"}},"additionalProperties":false,"required":["success"]}Example{"progressUrl":"http://localhost:8080/jira","currentProgress":0,"currentSubTask":"Currently reindexing Change History","type":"FOREGROUND","submittedTime":"2016-02-11T01:20:19.226+0000","startTime":"2016-02-11T01:20:19.226+0000","finishTime":"2016-02-11T01:20:19.226+0000","success":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/reindex#","title":"Reindex","type":"object","properties":{"progressUrl":{"type":"string"},"currentProgress":{"type":"integer"},"currentSubTask":{"type":"string"},"type":{"type":"string","enum":["FOREGROUND","BACKGROUND","BACKGROUND_PREFFERED","BACKGROUND_PREFERRED"]},"submittedTime":{"type":"string"},"startTime":{"type":"string"},"finishTime":{"type":"string"},"success":{"type":"boolean"}},"additionalProperties":false,"required":["success"]}
Returns REST representation for the requested group.]]>Schema{"id":"https://docs.atlassian.com/jira/REST/schema/add-group#","title":"Add Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}Example{"name":"jira-administrators","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-administrators","users":{"size":1,"items":[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false}],"max-results":50,"start-index":0,"end-index":0},"expand":"users"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/group#","title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"},"users":{"title":"Paged List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"expand":{"type":"string"}},"additionalProperties":false}
This resource is deprecated, please use group/member API instead.]]>
Returns no content]]>paginated list of users who are members of the specified group and its subgroups.
Users in the page are ordered by user names. User of this resource is required to have sysadmin or admin permissions.]]>Example{"self":"http://www.example.com/jira/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2","nextPage":"http://www.example.com/jira/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2","maxResults":2,"startAt":3,"total":5,"isLast":false,"values":[{"self":"http://example/jira/rest/api/2/user?username=fred","name":"Fred","key":"fred","emailAddress":"fred@atlassian.com","avatarUrls":{},"displayName":"Fred","active":true,"timeZone":"Australia/Sydney"},{"self":"http://example/jira/rest/api/2/user?username=barney","name":"Barney","key":"barney","emailAddress":"barney@atlassian.com","avatarUrls":{},"displayName":"Barney","active":false,"timeZone":"Australia/Sydney"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/group#","title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"},"users":{"title":"Paged List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"expand":{"type":"string"}},"additionalProperties":false}
Returns the current state of the group.]]>Example{"name":"charlie"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/update-user-to-group#","title":"Update User To Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/group#","title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"},"users":{"title":"Paged List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"start-index":{"type":"integer"},"end-index":{"type":"integer"},"items":{"type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}}},"additionalProperties":false,"required":["size","max-results","start-index","end-index"]},"expand":{"type":"string"}},"additionalProperties":false}
Returns no content]]>Example{"self":"http://www.example.com/jira/rest/api/2/issuesecurityschemes/1000","id":1000,"name":"Default Issue Security Scheme","description":"Description for the default issue security scheme","defaultSecurityLevelId":10021,"levels":[{"self":"http://www.example.com/jira/rest/api/2/securitylevel/10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/security-scheme#","title":"Security Scheme","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"defaultSecurityLevelId":{"type":"integer"},"levels":{"type":"array","items":{"title":"Security Level","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
Note that it is generally preferrable to use HTTP BASIC authentication with the REST API. However, this resource
may be used to mimic the behaviour of JIRA's log-in page (e.g. to display log-in errors to a user).]]>Example{"username":"fred","password":"freds_password"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/auth-params#","title":"Auth Params","type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false}Example{"session":{"name":"JSESSIONID","value":"12345678901234567890"},"loginInfo":{"failedLoginCount":10,"loginCount":127,"lastFailedLoginTime":"2016-02-11T01:20:17.683+0000","previousLoginTime":"2016-02-11T01:20:17.683+0000"}}
Note that the response contains the Set-Cookie HTTP headers that must be honoured by the
caller. If you are using a cookie-aware HTTP client then it will handle all Set-Cookie headers
automatically. This is important because setting the JSESSIONID cookie alone may not be
sufficient for the authentication to work.]]>Schema{"id":"https://docs.atlassian.com/jira/REST/schema/auth-success#","title":"Auth Success","type":"object","properties":{"session":{"title":"Session Info","type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false},"loginInfo":{"title":"Login Info","type":"object","properties":{"failedLoginCount":{"type":"integer"},"loginCount":{"type":"integer"},"lastFailedLoginTime":{"type":"string"},"previousLoginTime":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2.0/user/fred","name":"fred","loginInfo":{"failedLoginCount":10,"loginCount":127,"lastFailedLoginTime":"2016-02-11T01:20:17.683+0000","previousLoginTime":"2016-02-11T01:20:17.683+0000"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/current-user#","title":"Current User","type":"object","properties":{"self":{"type":"string","format":"uri"},"name":{"type":"string"},"loginInfo":{"title":"Login Info","type":"object","properties":{"failedLoginCount":{"type":"integer"},"loginCount":{"type":"integer"},"lastFailedLoginTime":{"type":"string"},"previousLoginTime":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
The fields that can be set on create, in either the fields parameter or the update parameter can be determined
using the /rest/api/2/issue/createmeta resource.
If a field is not configured to appear on the create screen, then it will not be in the createmeta, and a field
validation error will occur if it is submitted.
Creating a sub-task is similar to creating a regular issue, with two important differences:
the issueType field must correspond to a sub-task issue type (you can use
/issue/createmeta to discover sub-task issue types), and
you must provide a parent field in the issue create request containing the id or key of the
parent issue.
]]>Example{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2011-07-05T11:05:00.000+0000"}}]},"fields":{"project":{"id":"10000"},"summary":"something's wrong","issuetype":{"id":"10000"},"assignee":{"name":"homer"},"reporter":{"name":"smithers"},"priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"originalEstimate":"10","remainingEstimate":"5"},"security":{"id":"10000"},"versions":[{"id":"10000"}],"environment":"environment","description":"description","duedate":"2011-03-11","fixVersions":[{"id":"10001"}],"components":[{"id":"10000"}],"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"customfield_20000":"06/Jul/11 3:25 PM","customfield_40000":"this is a text field","customfield_70000":["jira-administrators","jira-software-users"],"customfield_60000":"jira-software-users","customfield_50000":"this is a text area. big text.","customfield_10000":"09/Jun/81"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-update#","title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"id":"10000","key":"TST-24","self":"http://www.example.com/jira/rest/api/2/issue/10000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-create-response#","title":"Issue Create Response","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"self":{"type":"string"}},"additionalProperties":false}Example{"errorMessages":["Field 'priority' is required"],"errors":{}}Example{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.676+0000","updated":"2016-02-11T01:20:19.677+0000","visibility":{"type":"role","value":"Administrators"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/comments-with-pagination#","title":"Comments With Pagination","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"comments":{"type":"array","items":{"title":"Comment","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}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{"id":"https://docs.atlassian.com/jira/REST/schema/comment#","title":"Comment","type":"object","properties":{"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.676+0000","updated":"2016-02-11T01:20:19.677+0000","visibility":{"type":"role","value":"Administrators"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/comment#","title":"Comment","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
Results can be ordered by the "created" field which means the date a comment was added.
]]>Example{"startAt":0,"maxResults":1,"total":1,"comments":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.676+0000","updated":"2016-02-11T01:20:19.677+0000","visibility":{"type":"role","value":"Administrators"}}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/comments-with-pagination#","title":"Comments With Pagination","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"comments":{"type":"array","items":{"title":"Comment","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}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{"id":"https://docs.atlassian.com/jira/REST/schema/comment#","title":"Comment","type":"object","properties":{"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.676+0000","updated":"2016-02-11T01:20:19.677+0000","visibility":{"type":"role","value":"Administrators"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/comment#","title":"Comment","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"author":{"$ref":"#/definitions/user"},"body":{"type":"string"},"renderedBody":{"type":"string"},"updateAuthor":{"$ref":"#/definitions/user"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"name":"harry"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}
Fields will only be returned if expand=transitions.fields.
The fields in the metadata correspond to the fields in the transition screen for that transition.
Fields not in the screen will not be in the metadata.]]>Example{"expand":"transitions","transitions":[{"id":"2","name":"Close Issue","to":{"self":"http://localhost:8090/jira/rest/api/2.0/status/10000","description":"The issue is currently being worked on.","iconUrl":"http://localhost:8090/jira/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}},"fields":{"summary":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"]}}},{"id":"711","name":"QA Review","to":{"self":"http://localhost:8090/jira/rest/api/2.0/status/5","description":"The issue is closed.","iconUrl":"http://localhost:8090/jira/images/icons/closed.gif","name":"Closed","id":"5","statusCategory":{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/9","id":9,"key":"completed","colorName":"green"}},"fields":{"summary":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"]},"colour":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"]}}}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/transitions-meta#","title":"Transitions Meta","type":"object","properties":{"expand":{"type":"string"},"transitions":{"type":"array","items":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
The fields that can be set on transtion, in either the fields parameter or the update parameter can be determined
using the /rest/api/2/issue/{issueIdOrKey}/transitions?expand=transitions.fields resource.
If a field is not configured to appear on the transition screen, then it will not be in the transition metadata, and a field
validation error will occur if it is submitted.]]>Example{"update":{"comment":[{"add":{"body":"Bug has been fixed."}}]},"fields":{"assignee":{"name":"bob"},"resolution":{"name":"Fixed"}},"transition":{"id":"5"},"historyMetadata":{"type":"myplugin:type","description":"text description","descriptionKey":"plugin.changereason.i18.key","activityDescription":"text description","activityDescriptionKey":"plugin.activity.i18.key","actor":{"id":"tony","displayName":"Tony","type":"mysystem-user","avatarUrl":"http://mysystem/avatar/tony.jpg","url":"http://mysystem/users/tony"},"generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"extraData":{"keyvalue":"extra data","goes":"here"}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-update#","title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-picker-result#","title":"Issue Picker Result","type":"object","properties":{"sections":{"type":"array","items":{"title":"Issue Section","type":"object","properties":{"label":{"type":"string"},"sub":{"type":"string"},"id":{"type":"string"},"msg":{"type":"string"},"issues":{"type":"array","items":{"title":"Issue Picker Issue","type":"object","properties":{"key":{"type":"string"},"keyHtml":{"type":"string"},"img":{"type":"string"},"summary":{"type":"string"},"summaryText":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/issue/MKY-1/votes","votes":24,"hasVoted":true,"voters":[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/vote#","title":"Vote","type":"object","properties":{"self":{"type":"string","format":"uri"},"votes":{"type":"integer"},"hasVoted":{"type":"boolean"},"voters":{}},"additionalProperties":false,"required":["votes","hasVoted"]}
An issue JSON consists of the issue key, a collection of fields,
a link to the workflow transition sub-resource, and (optionally) the HTML rendered values of any fields that support it
(e.g. if wiki syntax is enabled for the description or comments).
The fields param (which can be specified multiple times) gives a comma-separated list of fields
to include in the response. This can be used to retrieve a subset of fields.
A particular field can be excluded by prefixing it with a minus.
By default, all (*all) fields are returned in this get-issue resource. Note: the default is different
when doing a jql search -- the default there is just navigable fields (*navigable).
*all - include all fields
*navigable - include just navigable fields
summary,comment - include just the summary and comments
-comment - include everything except comments (the default is *all for get-issue)
*all,-comment - include everything except comments
The {@code properties} param is similar to {@code fields} and specifies a comma-separated list of issue
properties to include. Unlike {@code fields}, properties are not included by default. To include them all
send {@code ?properties=*all}. You can also include only specified properties or exclude some properties
with a minus (-) sign.
{@code *all} - include all properties
{@code *all, -prop1} - include all properties except {@code prop1}
{@code prop1, prop1} - include {@code prop1} and {@code prop2} properties
JIRA will attempt to identify the issue by the issueIdOrKey path parameter. This can be an issue id,
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
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
will not be returned). The issue key contained in the response will indicate the current value of issue's key.
The expand param is used to include, hidden by default, parts of response. This can be used to include:
renderedFields - field values in HTML format
names - display name of each field
schema - schema for each field which describes a type of the field
transitions - all possible transitions for the given issue
operations - all possibles operations which may be applied on issue
editmeta - information about how each field may be edited. It contains field's schema as well.
changelog - history of all changes of the given issue
versionedRepresentations -
REST representations of all fields. Some field may contain more recent versions. RESET representations are numbered.
The greatest number always represents the most recent version. It is recommended that the most recent version is used.
version for these fields which provide a more recent REST representation.
After including versionedRepresentations "fields" field become hidden.
]]>Example{"expand":"renderedFields,names,schema,transitions,operations,editmeta,changelog,versionedRepresentations","id":"10002","self":"http://www.example.com/jira/rest/api/2/issue/10002","key":"EX-1","fields":{"watcher":{"self":"http://www.example.com/jira/rest/api/2/issue/EX-1/watchers","isWatching":false,"watchCount":1,"watchers":[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false}]},"attachment":[{"self":"http://www.example.com/jira/rest/api/2.0/attachments/10000","filename":"picture.jpg","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.617+0000","size":23123,"mimeType":"image/jpeg","content":"http://www.example.com/jira/attachments/10000","thumbnail":"http://www.example.com/jira/secure/thumbnail/10000"}],"sub-tasks":[{"id":"10000","type":{"id":"10000","name":"","inward":"Parent","outward":"Sub-task"},"outwardIssue":{"id":"10003","key":"EX-2","self":"http://www.example.com/jira/rest/api/2/issue/EX-2","fields":{"status":{"iconUrl":"http://www.example.com/jira//images/icons/statuses/open.png","name":"Open"}}}}],"description":"example bug report","project":{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?size=large&pid=10000","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"http://www.example.com/jira/rest/api/2/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}},"comment":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/comment/10000","id":"10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"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.","updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"created":"2016-02-11T01:20:19.676+0000","updated":"2016-02-11T01:20:19.677+0000","visibility":{"type":"role","value":"Administrators"}}],"issuelinks":[{"id":"10001","type":{"id":"10000","name":"Dependent","inward":"depends on","outward":"is depended by"},"outwardIssue":{"id":"10004L","key":"PRJ-2","self":"http://www.example.com/jira/rest/api/2/issue/PRJ-2","fields":{"status":{"iconUrl":"http://www.example.com/jira//images/icons/statuses/open.png","name":"Open"}}}},{"id":"10002","type":{"id":"10000","name":"Dependent","inward":"depends on","outward":"is depended by"},"inwardIssue":{"id":"10004","key":"PRJ-3","self":"http://www.example.com/jira/rest/api/2/issue/PRJ-3","fields":{"status":{"iconUrl":"http://www.example.com/jira//images/icons/statuses/open.png","name":"Open"}}}}],"worklog":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2016-02-11T01:20:19.847+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.844+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}},"names":{"watcher":"watcher","attachment":"attachment","sub-tasks":"sub-tasks","description":"description","project":"project","comment":"comment","issuelinks":"issuelinks","worklog":"worklog","updated":"updated","timetracking":"timetracking"},"schema":{}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue#","title":"Issue","type":"object","properties":{"expand":{"type":"string"},"id":{"type":"string"},"self":{"type":"string","format":"uri"},"key":{"type":"string"},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"renderedFields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"properties":{"title":"Properties","type":"object","properties":{"properties":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"names":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"schema":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/json-type"}},"additionalProperties":false},"transitions":{"type":"array","items":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/field-meta"}},"additionalProperties":false},"expand":{"type":"string"}},"additionalProperties":false}},"operations":{"title":"Opsbar","type":"object","properties":{"linkGroups":{"type":"array","items":{"$ref":"#/definitions/link-group"}}},"additionalProperties":false},"editmeta":{"title":"Edit Meta","type":"object","properties":{"fields":{"type":"object","patternProperties":{".+":{"$ref":"#/definitions/field-meta"}},"additionalProperties":false}},"additionalProperties":false},"changelog":{"title":"Changelog","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"histories":{"type":"array","items":{"title":"Change History","type":"object","properties":{"id":{"type":"string"},"author":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]},"created":{"type":"string"},"items":{"type":"array","items":{"title":"Change Item","type":"object","properties":{"field":{"type":"string"},"fieldtype":{"type":"string"},"from":{"type":"string"},"fromString":{"type":"string"},"to":{"type":"string"},"toString":{"type":"string"}},"additionalProperties":false}},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false}}},"additionalProperties":false},"versionedRepresentations":{"type":"object","patternProperties":{".+":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false}},"additionalProperties":false},"fieldsToInclude":{"title":"Included Fields","type":"object"}},"definitions":{"field-meta":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"$ref":"#/definitions/json-type"},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]},"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false},"json-type":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"link-group":{"title":"Link Group","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/definitions/simple-link"},"weight":{"type":"integer"},"links":{"type":"array","items":{"$ref":"#/definitions/simple-link"}},"groups":{"type":"array","items":{"$ref":"#/definitions/link-group"}}},"additionalProperties":false},"simple-link":{"title":"Simple Link","type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer"}},"additionalProperties":false}},"additionalProperties":false}
If the issue has subtasks you must set the parameter deleteSubtasks=true to delete the issue.
You cannot delete an issue without its subtasks also being deleted.]]>
The issue can either be updated by setting explicit the field value(s)
or by using an operation to change the field value.
The fields that can be updated, in either the fields parameter or the update parameter, can be determined
using the /rest/api/2/issue/{issueIdOrKey}/editmeta resource.
If a field is not configured to appear on the edit screen, then it will not be in the editmeta, and a field
validation error will occur if it is submitted.
Specifying a "field_id": field_value in the "fields" is a shorthand for a "set" operation in the "update" section.
Field should appear either in "fields" or "update", not in both.]]>Example{"update":{"summary":[{"set":"Bug in business logic"}],"components":[{"set":""}],"timetracking":[{"edit":{"originalEstimate":"1w 1d","remainingEstimate":"4d"}}],"labels":[{"add":"triaged"},{"remove":"blocker"}]},"fields":{"summary":"This is a shorthand for a set operation on the summary field","customfield_10010":1,"customfield_10000":"This is a shorthand for a set operation on a text custom field"},"historyMetadata":{"type":"myplugin:type","description":"text description","descriptionKey":"plugin.changereason.i18.key","activityDescription":"text description","activityDescriptionKey":"plugin.activity.i18.key","actor":{"id":"tony","displayName":"Tony","type":"mysystem-user","avatarUrl":"http://mysystem/avatar/tony.jpg","url":"http://mysystem/users/tony"},"generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"extraData":{"keyvalue":"extra data","goes":"here"}},"properties":[{"key":"key1","value":'properties' : 'can be set at issue create or update time'},{"key":"key2","value":'and' : 'there can be multiple properties'}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-update#","title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issue/EX-1/watchers","isWatching":false,"watchCount":1,"watchers":[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/watchers#","title":"Watchers","type":"object","properties":{"self":{"type":"string"},"isWatching":{"type":"boolean"},"watchCount":{"type":"integer"},"watchers":{"type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}}},"additionalProperties":false,"required":["watchCount"]}Example"fred"Schema{"id":"https://docs.atlassian.com/jira/REST/schema/string#","title":"String","type":"string"}
Creates many issues in one bulk operation.
Creating a sub-task is similar to creating a regular issue. More details can be found in createIssue section:
{@link IssueResource#createIssue(IssueUpdateBean)}}]]>Example{"issueUpdates":[{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2011-07-05T11:05:00.000+0000"}}]},"fields":{"project":{"id":"10000"},"summary":"something's wrong","issuetype":{"id":"10000"},"assignee":{"name":"homer"},"reporter":{"name":"smithers"},"priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"originalEstimate":"10","remainingEstimate":"5"},"security":{"id":"10000"},"versions":[{"id":"10000"}],"environment":"environment","description":"description","duedate":"2011-03-11","fixVersions":[{"id":"10001"}],"components":[{"id":"10000"}],"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"customfield_20000":"06/Jul/11 3:25 PM","customfield_40000":"this is a text field","customfield_70000":["jira-administrators","jira-software-users"],"customfield_60000":"jira-software-users","customfield_50000":"this is a text area. big text.","customfield_10000":"09/Jun/81"}},{"update":{},"fields":{"project":{"id":"1000"},"summary":"something's very wrong","issuetype":{"id":"10000"},"assignee":{"name":"jerry"},"reporter":{"name":"kosecki"},"priority":{"id":"20000"},"labels":["new_release"],"timetracking":{"originalEstimate":"15","remainingEstimate":"5"},"security":{"id":"10000"},"versions":[{"id":"10000"}],"environment":"environment","description":"description","duedate":"2011-04-16","fixVersions":[{"id":"10001"}],"components":[{"id":"10000"}],"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"customfield_20000":"06/Jul/11 3:25 PM","customfield_40000":"this is a text field","customfield_70000":["jira-administrators","jira-software-users"],"customfield_60000":"jira-software-users","customfield_50000":"this is a text area. big text.","customfield_10000":"09/Jun/81"}}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issues-update#","title":"Issues Update","type":"object","properties":{"issueUpdates":{"type":"array","items":{"title":"Issue Update","type":"object","properties":{"transition":{"title":"Transition","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"to":{"title":"Status","type":"object","properties":{"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false},"fields":{"type":"object","patternProperties":{".+":{}},"additionalProperties":false},"update":{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Field Operation","type":"object"}}},"additionalProperties":false},"historyMetadata":{"title":"History Metadata","type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"descriptionKey":{"type":"string"},"activityDescription":{"type":"string"},"activityDescriptionKey":{"type":"string"},"emailDescription":{"type":"string"},"emailDescriptionKey":{"type":"string"},"actor":{"$ref":"#/definitions/history-metadata-participant"},"generator":{"$ref":"#/definitions/history-metadata-participant"},"cause":{"$ref":"#/definitions/history-metadata-participant"},"extraData":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"properties":{"type":"array","items":{"title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}}},"additionalProperties":false}}},"definitions":{"history-metadata-participant":{"title":"History Metadata Participant","type":"object","properties":{"id":{"type":"string"},"displayName":{"type":"string"},"displayNameKey":{"type":"string"},"type":{"type":"string"},"avatarUrl":{"type":"string"},"url":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"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"}],"errors":[]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/issue-create-response#","title":"Issue Create Response","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"self":{"type":"string"}},"additionalProperties":false}Example{"status":400,"elementErrors":{"errorMessages":["Field 'priority' is required"],"errors":{}},"failedElementNumber":3}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/bulk-operation-error-result#","title":"Bulk Operation Error Result","type":"object","properties":{"status":{"type":"integer"},"elementErrors":{"title":"Error Collection","type":"object","properties":{"errorMessages":{"type":"array","items":{"type":"string"}},"errors":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"status":{"type":"integer"}},"additionalProperties":false},"failedElementNumber":{"type":"integer"}},"additionalProperties":false}
The fields in the createmeta correspond to the fields in the create screen for the project/issuetype.
Fields not in the screen will not be in the createmeta.
Fields will only be returned if expand=projects.issuetypes.fields.
The results can be filtered by project and/or issue type, given by the query params.]]>Example{"expand":"projects","projects":[{"self":"http://www.example.com/jira/rest/api/2/project/EX","id":"10000","key":"EX","name":"Example Project","avatarUrls":{"48x48":"http://www.example.com/jira/secure/projectavatar?pid=10000&avatarId=10011","24x24":"http://www.example.com/jira/secure/projectavatar?size=small&pid=10000&avatarId=10011","16x16":"http://www.example.com/jira/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011","32x32":"http://www.example.com/jira/secure/projectavatar?size=medium&pid=10000&avatarId=10011"},"issuetypes":[{"self":"http://www.example.com/jira/rest/api/2/issueType/1","id":"1","description":"An error in the code","iconUrl":"http://www.example.com/jira/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"fields":{"issuetype":{"required":true,"name":"Issue Type","hasDefaultValue":false,"operations":["set"]}}}]}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/create-meta#","title":"Create Meta","type":"object","properties":{"expand":{"type":"string"},"projects":{"type":"array","items":{"title":"Create Meta Project","type":"object","properties":{"expand":{"type":"string"},"self":{"type":"string"},"id":{"type":"string"},"key":{"type":"string"},"name":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"issuetypes":{"type":"array","items":{"title":"Create Meta Issue Type","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"subtask":{"type":"boolean"},"avatarId":{"type":"integer"},"expand":{"type":"string"},"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false,"required":["subtask"]}}},"additionalProperties":false}}},"additionalProperties":false}
The fields in the editmeta correspond to the fields in the edit screen for the issue.
Fields not in the screen will not be in the editmeta.]]>Example{"fields":{"summary":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"]}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/edit-meta#","title":"Edit Meta","type":"object","properties":{"fields":{"type":"object","patternProperties":{".+":{"title":"Field Meta","type":"object","properties":{"required":{"type":"boolean"},"schema":{"title":"Json Type","type":"object","properties":{"type":{"type":"string"},"items":{"type":"string"},"system":{"type":"string"},"custom":{"type":"string"},"customId":{"type":"integer"}},"additionalProperties":false},"name":{"type":"string"},"autoCompleteUrl":{"type":"string"},"hasDefaultValue":{"type":"boolean"},"operations":{"type":"array","items":{"type":"string"}},"allowedValues":{"type":"array","items":{}}},"additionalProperties":false,"required":["required"]}},"additionalProperties":false}},"additionalProperties":false}For a fullexplanation of Issue Link fields please refer to
https://developer.atlassian.com/display/JIRADEV/Fields+in+Remote+Issue+Links]]>Example[{"id":10000,"self":"http://www.example.com/jira/rest/api/issue/MKY-1/remotelink/10000","globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Crazy customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}},{"id":10001,"self":"http://www.example.com/jira/rest/api/issue/MKY-1/remotelink/10001","globalId":"system=http://www.anothercompany.com/tester&id=1234","application":{"type":"com.acme.tester","name":"My Acme Tester"},"relationship":"is tested by","object":{"url":"http://www.anothercompany.com/tester/testcase/1234","title":"Test Case #1234","summary":"Test that the submit button saves the thing","icon":{"url16x16":"http://www.anothercompany.com/tester/images/testcase.gif","title":"Test Case"},"status":{"resolved":false,"icon":{"url16x16":"http://www.anothercompany.com/tester/images/person/fred.gif","title":"Tested by Fred Jones","link":"http://www.anothercompany.com/tester/person?username=fred"}}}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-remote-issue-link#","title":"List of Remote Issue Link","type":"array","items":{"title":"Remote Issue Link","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"globalId":{"type":"string"},"application":{"title":"Application","type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"relationship":{"type":"string"},"object":{"title":"Remote Object","type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"icon":{"$ref":"#/definitions/icon"},"status":{"title":"Status","type":"object","properties":{"resolved":{"type":"boolean"},"icon":{"$ref":"#/definitions/icon"}},"additionalProperties":false}},"additionalProperties":false}},"additionalProperties":false},"definitions":{"icon":{"title":"Icon","type":"object","properties":{"url16x16":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"}},"additionalProperties":false}}}Example{"globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Crazy customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/remote-issue-link-create-or-update-request#","title":"Remote Issue Link Create Or Update Request","type":"object","properties":{"globalId":{"type":"string"},"application":{"title":"Application","type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"relationship":{"type":"string"},"object":{"title":"Remote Object","type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"icon":{"$ref":"#/definitions/icon"},"status":{"title":"Status","type":"object","properties":{"resolved":{"type":"boolean"},"icon":{"$ref":"#/definitions/icon"}},"additionalProperties":false}},"additionalProperties":false}},"definitions":{"icon":{"title":"Icon","type":"object","properties":{"url16x16":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/issue/MKY-1/remotelink/10000"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/remote-issue-link-create-or-update-response#","title":"Remote Issue Link Create Or Update Response","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string"}},"additionalProperties":false}Example{"errorMessages":[],"errors":{"title":"'title' is required."}}Example{"id":10000,"self":"http://www.example.com/jira/rest/api/issue/MKY-1/remotelink/10000","globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Crazy customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/remote-issue-link#","title":"Remote Issue Link","type":"object","properties":{"id":{"type":"integer"},"self":{"type":"string","format":"uri"},"globalId":{"type":"string"},"application":{"title":"Application","type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"relationship":{"type":"string"},"object":{"title":"Remote Object","type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"icon":{"$ref":"#/definitions/icon"},"status":{"title":"Status","type":"object","properties":{"resolved":{"type":"boolean"},"icon":{"$ref":"#/definitions/icon"}},"additionalProperties":false}},"additionalProperties":false}},"definitions":{"icon":{"title":"Icon","type":"object","properties":{"url16x16":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Crazy customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/remote-issue-link-create-or-update-request#","title":"Remote Issue Link Create Or Update Request","type":"object","properties":{"globalId":{"type":"string"},"application":{"title":"Application","type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false},"relationship":{"type":"string"},"object":{"title":"Remote Object","type":"object","properties":{"url":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"icon":{"$ref":"#/definitions/icon"},"status":{"title":"Status","type":"object","properties":{"resolved":{"type":"boolean"},"icon":{"$ref":"#/definitions/icon"}},"additionalProperties":false}},"additionalProperties":false}},"definitions":{"icon":{"title":"Icon","type":"object","properties":{"url16x16":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}Example{"errorMessages":[],"errors":{"title":"'title' is required."}}Example{"startAt":0,"maxResults":1,"total":1,"worklogs":[{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2016-02-11T01:20:19.847+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.844+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog-with-pagination#","title":"Worklog With Pagination","type":"object","properties":{"startAt":{"type":"integer"},"maxResults":{"type":"integer"},"total":{"type":"integer"},"worklogs":{"type":"array","items":{"title":"Worklog","type":"object","properties":{"self":{"type":"string","format":"uri"},"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"additionalProperties":false}}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
"new" - sets the estimate to a specific value
"leave"- leaves the estimate as is
"manual" - specify a specific amount to increase remaining estimate by
"auto"- Default option. Will automatically adjust the value based on the new timeSpent specified on the worklog
]]>Example{"comment":"I did some work here.","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.843+0000","timeSpentSeconds":12000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"self":{"type":"string","format":"uri"},"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2016-02-11T01:20:19.847+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.844+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"self":{"type":"string","format":"uri"},"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Note that:
Fields possible for editing are: comment, visibility, started, timeSpent and timeSpentSeconds.
Either timeSpent or timeSpentSeconds can be set.
Fields which are not set will not be updated.
For a request to be valid, it has to have at least one field change.
]]>
"new" - sets the estimate to a specific value
"leave"- leaves the estimate as is
"auto"- Default option. Will automatically adjust the value based on the new timeSpent specified on the worklog
]]>Example{"comment":"I did some work here.","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.843+0000","timeSpentSeconds":12000}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/issue/10010/worklog/10000","author":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"updateAuthor":{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","displayName":"Fred F. User","active":false},"comment":"I did some work here.","updated":"2016-02-11T01:20:19.847+0000","visibility":{"type":"group","value":"jira-developers"},"started":"2016-02-11T01:20:19.844+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/worklog#","title":"Worklog","type":"object","properties":{"self":{"type":"string","format":"uri"},"author":{"$ref":"#/definitions/user"},"updateAuthor":{"$ref":"#/definitions/user"},"comment":{"type":"string"},"created":{"type":"string"},"updated":{"type":"string"},"visibility":{"title":"Visibility","type":"object","properties":{"type":{"type":"string","enum":["group","role"]},"value":{"type":"string"}},"additionalProperties":false},"started":{"type":"string"},"timeSpent":{"type":"string"},"timeSpentSeconds":{"type":"integer"},"id":{"type":"string"},"issueId":{"type":"string"}},"definitions":{"user":{"title":"User","type":"object","properties":{"self":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"additionalProperties":false}
"new" - sets the estimate to a specific value
"leave"- leaves the estimate as is
"manual" - specify a specific amount to increase remaining estimate by
"auto"- Default option. Will automatically adjust the value based on the new timeSpent specified on the worklog
]]>Example{"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.","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.","to":{"reporter":false,"assignee":false,"watchers":true,"voters":true,"users":[{"name":"fred","active":false}],"groups":[{"name":"notification-group","self":"http://www.example.com/jira/rest/api/2/group?groupname=notification-group"}]},"restrict":{"groups":[{"name":"notification-group","self":"http://www.example.com/jira/rest/api/2/group?groupname=notification-group"}],"permissions":[{"id":"10","key":"BROWSE"}]}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/notification#","title":"Notification","type":"object","properties":{"subject":{"type":"string"},"textBody":{"type":"string"},"htmlBody":{"type":"string"},"to":{"title":"To","type":"object","properties":{"reporter":{"type":"boolean"},"assignee":{"type":"boolean"},"watchers":{"type":"boolean"},"voters":{"type":"boolean"},"users":{"type":"array","items":{"title":"User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"}},"additionalProperties":false,"required":["active"]}},"groups":{"type":"array","items":{"$ref":"#/definitions/group"}}},"additionalProperties":false,"required":["reporter","assignee","watchers","voters"]},"restrict":{"title":"Restrict","type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/definitions/group"}},"permissions":{"type":"array","items":{"title":"Permission","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}},"definitions":{"group":{"title":"Group","type":"object","properties":{"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}]]>]]>]]>Example{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[{"name":"jira-user","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-user"},{"name":"jira-admin","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-admin"},{"name":"important","self":"http://www.example.com/jira/rest/api/2/group?groupname=important"}]},"applicationRoles":{"size":1,"items":[]},"expand":"groups,applicationRoles"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}Example{"name":"charlie","password":"abracadabra","emailAddress":"charlie@atlassian.com","displayName":"Charlie of Atlassian","applicationKeys":["jira-core"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user-write#","title":"User Write","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"emailAddress":{"type":"string"},"displayName":{"type":"string"},"notification":{"type":"string"},"applicationKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"self":"http://www.example.com/jirahttp://www.example.com/jira/rest/api/2/user/charlie","key":"charlie","name":"charlie","emailAddress":"charlie@atlassian.com","displayName":"Charlie of Atlassian"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}Example{"name":"eddie","emailAddress":"eddie@atlassian.com","displayName":"Eddie of Atlassian"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user-write#","title":"User Write","type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"password":{"type":"string"},"emailAddress":{"type":"string"},"displayName":{"type":"string"},"notification":{"type":"string"},"applicationKeys":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}Example{"self":"http://www.example.com/jirahttp://www.example.com/jira/rest/api/2/user/charlie","key":"charlie","name":"charlie","emailAddress":"charlie@atlassian.com","displayName":"Charlie of Atlassian"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user#","title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}},"additionalProperties":false,"required":["active"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-column-item#","title":"List of Column Item","type":"array","items":{"title":"Column Item","type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}}
The following examples shows these three steps using curl.
The cookies (session) need to be preserved between requests, hence the use of -b and -c.
The id created in step 2 needs to be passed to step 3
(you can simply pass the whole response of step 2 as the request of step 3).
]]>Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}
Creating a temporary avatar is part of a 3-step process in uploading a new
avatar for a user: upload, crop, confirm. This endpoint allows you to use a multipart upload
instead of sending the image directly as the request body.
You *must* use "avatar" as the name of the upload parameter:
]]>Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"id":"1000","owner":"fred","isSystemAvatar":true,"isSelected":false,"isDeletable":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"},"selected":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar#","title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}Example[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},{"self":"http://www.example.com/jira/rest/api/2/user?username=andrew","name":"andrew","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=andrew","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=andrew","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=andrew","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=andrew"},"displayName":"Andrew Anderson","active":false}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-user#","title":"List of User","type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}}}Example{"users":[{"name":"fred","key":"fred","html":"fred@example.com","displayName":"Fred Grumble","avatarUrl":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred"}],"total":25,"header":"Showing 20 of 25 matching groups"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/user-picker-results#","title":"User Picker Results","type":"object","properties":{"users":{"type":"array","items":{"title":"User Picker User","type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"html":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string","format":"uri"}},"additionalProperties":false}},"total":{"type":"integer"},"header":{"type":"string"}},"additionalProperties":false}Example{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","emailAddress":"fred@example.com","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[{"name":"jira-user","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-user"},{"name":"jira-admin","self":"http://www.example.com/jira/rest/api/2/group?groupname=jira-admin"},{"name":"important","self":"http://www.example.com/jira/rest/api/2/group?groupname=important"}]},"applicationRoles":{"size":1,"items":[]},"expand":"groups,applicationRoles"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-user#","title":"List of User","type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}}}Example{"password":"new password"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/password#","title":"Password","type":"object","properties":{"password":{"type":"string"},"currentPassword":{"type":"string"}},"additionalProperties":false}Example[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},{"self":"http://www.example.com/jira/rest/api/2/user?username=andrew","name":"andrew","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=andrew","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=andrew","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=andrew","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=andrew"},"displayName":"Andrew Anderson","active":false}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-user#","title":"List of User","type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}}}
This resource can be accessed by users with ADMINISTER_PROJECT permission for the project or global ADMIN or SYSADMIN rights.]]>Permissions
JavaDoc for the list of all possible permissions.]]>Example[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},{"self":"http://www.example.com/jira/rest/api/2/user?username=andrew","name":"andrew","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=andrew","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=andrew","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=andrew","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=andrew"},"displayName":"Andrew Anderson","active":false}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-user#","title":"List of User","type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}}}Example[{"self":"http://www.example.com/jira/rest/api/2/user?username=fred","name":"fred","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=fred","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=fred","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=fred","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=fred"},"displayName":"Fred F. User","active":false},{"self":"http://www.example.com/jira/rest/api/2/user?username=andrew","name":"andrew","avatarUrls":{"48x48":"http://www.example.com/jira/secure/useravatar?size=large&ownerId=andrew","24x24":"http://www.example.com/jira/secure/useravatar?size=small&ownerId=andrew","16x16":"http://www.example.com/jira/secure/useravatar?size=xsmall&ownerId=andrew","32x32":"http://www.example.com/jira/secure/useravatar?size=medium&ownerId=andrew"},"displayName":"Andrew Anderson","active":false}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-user#","title":"List of User","type":"array","items":{"title":"User","type":"object","properties":{"self":{"type":"string","format":"uri"},"key":{"type":"string"},"name":{"type":"string"},"emailAddress":{"type":"string"},"avatarUrls":{"type":"object","patternProperties":{".+":{"type":"string","format":"uri"}},"additionalProperties":false},"displayName":{"type":"string"},"active":{"type":"boolean"},"timeZone":{"type":"string"},"locale":{"type":"string"},"groups":{"$ref":"#/definitions/simple-list-wrapper"},"applicationRoles":{"$ref":"#/definitions/simple-list-wrapper"},"expand":{"type":"string"}},"additionalProperties":false,"required":["active"]},"definitions":{"simple-list-wrapper":{"title":"Simple List Wrapper","type":"object","properties":{"size":{"type":"integer"},"max-results":{"type":"integer"},"items":{"type":"array","items":{"title":"Group","type":"object","properties":{"name":{"type":"string"},"self":{"type":"string","format":"uri"}},"additionalProperties":false}}},"additionalProperties":false,"required":["size"]}}}Example{"system":[{"id":"1000","owner":"fred","isSystemAvatar":true,"isSelected":false,"isDeletable":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"},"selected":false}],"custom":[{"id":"1010","owner":"andrew","isSystemAvatar":false,"isSelected":false,"isDeletable":true,"urls":{"16x16":"http://localhost:8090/jira/secure/useravatar?size=xsmall&avatarId=10080","24x24":"http://localhost:8090/jira/secure/useravatar?size=small&avatarId=10080","32x32":"http://localhost:8090/jira/secure/useravatar?size=medium&avatarId=10080","48x48":"http://localhost:8090/jira/secure/useravatar?avatarId=10080"},"selected":false}]}Schema{"type":"object","patternProperties":{".+":{"type":"array","items":{"title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}}},"additionalProperties":false}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"url":"http://example.com/jira/secure/temporaryavatar?cropped=true","needsCropping":true}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"cropperWidth":120,"cropperOffsetX":50,"cropperOffsetY":50,"needsCropping":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/avatar-cropping#","title":"Avatar Cropping","type":"object","properties":{"cropperWidth":{"type":"integer"},"cropperOffsetX":{"type":"integer"},"cropperOffsetY":{"type":"integer"},"url":{"type":"string"},"needsCropping":{"type":"boolean"}},"additionalProperties":false,"required":["cropperWidth","cropperOffsetX","cropperOffsetY","needsCropping"]}Example{"system":[{"id":"1000","owner":"fred","isSystemAvatar":true,"isSelected":false,"isDeletable":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"},"selected":false}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/system-avatars#","title":"System Avatars","type":"object","properties":{"system":{"type":"array","items":{"title":"Avatar","type":"object","properties":{"id":{"type":"string"},"owner":{"type":"string"},"isSystemAvatar":{"type":"boolean"},"isSelected":{"type":"boolean"},"isDeletable":{"type":"boolean"},"urls":{"type":"object","patternProperties":{"\\d\\dx\\d\\d":{"type":"string","format":"uri"}},"additionalProperties":false},"selected":{"type":"boolean"}},"additionalProperties":false,"required":["isSystemAvatar","isSelected","isDeletable","selected"]}}},"additionalProperties":false}Example{"keys":[{"self":"http://www.example.com/jira/rest/api/2/issue/EX-2/properties/issue.support","key":"issue.support"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-properties-keys#","title":"Entity Properties Keys","type":"object","properties":{"keys":{"type":"array","items":{"title":"Entity Property Key","type":"object","properties":{"self":{"type":"string"},"key":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}
You can use this resource to store a custom data against the project identified by the key or by the id. The user
who stores the data is required to have permissions to administer the project.
]]>Example{"key":"issue.support","value":{"hipchat.room.id":"support-123","support.time":"1m"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/entity-property#","title":"Entity Property","type":"object","properties":{"key":{"type":"string"},"value":{}},"additionalProperties":false}Example{"levels":[{"self":"http://www.example.com/jira/rest/api/2/securitylevel/100000","id":"100000","description":"security description","name":"securityLevelName"},{"self":"http://www.example.com/jira/rest/api/2/securitylevel/100001","id":"100001","description":"another security description","name":"secret"}]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/security-list-level#","title":"Security List Level","type":"object","properties":{"levels":{"type":"array","items":{"title":"Security Level","type":"object","properties":{"self":{"type":"string"},"id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/workflow#","title":"Workflow","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lastModifiedDate":{"type":"string"},"lastModifiedUser":{"type":"string"},"steps":{"type":"integer"},"isDefault":{"type":"boolean"}},"additionalProperties":false,"required":["isDefault"]}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-workflow#","title":"List of Workflow","type":"array","items":{"title":"Workflow","type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"lastModifiedDate":{"type":"string"},"lastModifiedUser":{"type":"string"},"steps":{"type":"integer"},"isDefault":{"type":"boolean"}},"additionalProperties":false,"required":["isDefault"]}}Example{"value":"createissue"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}Example{"key":"jira.i18n.title","value":"some.title","id":"jira.i18n.title"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}Example{"value":"createissue"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}Example{"key":"jira.i18n.title","value":"some.title","id":"jira.i18n.title"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}Example{"key":"jira.i18n.title","value":"some.title","id":"jira.i18n.title"}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/property#","title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-property#","title":"List of Property","type":"array","items":{"title":"Property","type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}}Example{"votingEnabled":true,"watchingEnabled":true,"unassignedIssuesAllowed":false,"subTasksEnabled":false,"issueLinkingEnabled":true,"timeTrackingEnabled":true,"attachmentsEnabled":true,"timeTrackingConfiguration":{"workingHoursPerDay":8.0,"workingDaysPerWeek":5.0,"timeFormat":"pretty","defaultUnit":"day"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/configuration#","title":"Configuration","type":"object","properties":{"votingEnabled":{"type":"boolean"},"watchingEnabled":{"type":"boolean"},"unassignedIssuesAllowed":{"type":"boolean"},"subTasksEnabled":{"type":"boolean"},"issueLinkingEnabled":{"type":"boolean"},"timeTrackingEnabled":{"type":"boolean"},"attachmentsEnabled":{"type":"boolean"},"timeTrackingConfiguration":{"title":"Time Tracking Configuration","type":"object","properties":{"workingHoursPerDay":{"type":"number"},"workingDaysPerWeek":{"type":"number"},"timeFormat":{"type":"string","enum":["pretty","days","hours"]},"defaultUnit":{"type":"string","enum":["minute","hour","day","week"]}},"additionalProperties":false,"required":["workingHoursPerDay","workingDaysPerWeek"]}},"additionalProperties":false,"required":["votingEnabled","watchingEnabled","unassignedIssuesAllowed","subTasksEnabled","issueLinkingEnabled","timeTrackingEnabled","attachmentsEnabled"]}Example[{"self":"http://localhost:8090/jira/rest/api/2.0/status/10000","description":"The issue is currently being worked on.","iconUrl":"http://localhost:8090/jira/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}},{"self":"http://localhost:8090/jira/rest/api/2.0/status/5","description":"The issue is closed.","iconUrl":"http://localhost:8090/jira/images/icons/closed.gif","name":"Closed","id":"5","statusCategory":{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/9","id":9,"key":"completed","colorName":"green"}}]Schema{"id":"https://docs.atlassian.com/jira/REST/schema/list-of-status#","title":"List of Status","type":"array","items":{"title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}}Example{"self":"http://localhost:8090/jira/rest/api/2.0/status/10000","description":"The issue is currently being worked on.","iconUrl":"http://localhost:8090/jira/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}}Schema{"id":"https://docs.atlassian.com/jira/REST/schema/status#","title":"Status","type":"object","properties":{"self":{"type":"string"},"statusColor":{"type":"string"},"description":{"type":"string"},"iconUrl":{"type":"string"},"name":{"type":"string"},"id":{"type":"string"},"statusCategory":{"title":"Status Category","type":"object","properties":{"self":{"type":"string"},"id":{"type":"integer"},"key":{"type":"string"},"colorName":{"type":"string"},"name":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}
wadl-0.3.2/tests/parsing_tests.rs 0000644 0000000 0000000 00000000554 10461020230 0015156 0 ustar 0000000 0000000 #[test]
fn parse_sample_wadl() {
wadl::parse_file("tests/sample-wadl.xml").unwrap();
}
#[test]
fn parse_yahoo_wadl() {
wadl::parse_file("tests/yahoo-wadl.xml").unwrap();
}
#[test]
fn parse_fish_eye_wadl() {
wadl::parse_file("tests/fish-eye-wadl.xml").unwrap();
}
#[test]
fn parse_jira_wadl() {
wadl::parse_file("tests/jira_wadl.xml").unwrap();
}
wadl-0.3.2/tests/sample-wadl.xml 0000644 0000000 0000000 00000003174 10461020230 0014654 0 ustar 0000000 0000000
The account register service can be used to fill in account registration forms.
Creating the account after having filled in the registration form.
The usernameThe password
wadl-0.3.2/tests/yahoo-wadl.xml 0000644 0000000 0000000 00000004077 10461020230 0014515 0 ustar 0000000 0000000